2012-07-27 97 views
0

我正在为我的项目使用篝火。在cibonfire中使用全局变量codeigniter

我必须根据username从数据库中提取userid,并在每个视图中使用该userid。

现在我正在做的是我有一个模型函数,并在每个控制器函数中调用该函数来获取userid,然后userid被设置为查看页面。

我要重复这段代码为每个控制器功能, 我的查询是在那里只是一个userid在控制器中一次使用userid对每个视图的方式。

我控制器功能: -

class asd extends Admin_Controller { 
protected $role; 
public function _construct(){ 
    parent::_construct(); 
    $this->load->library('users/auth'); 
    $this->load->model('helpdesk_model'); 
    $role = $this->helpdesk_model->getRole($this->auth->username()); 
} 
} 

我使用Template::set('role',$role);在我的控制器功能 我的看法: -

<?php echo Template::get('role); ?>

它显示未定义的变量的作用:(

我型号: -

function getRole($username) { 
     $this->db->select('role_id'); 
     $this->db->where('username',$username); 
     return $this->db->get('tbl_users')->row(); 

    } 

回答

1

一个变量添加到控制器,并在构造函数初始化:

class Some_controller extends CI_Controller { 
    protected $data; 

public function __construct() { 
     parent::__construct(); 
     $this->load->model('some_model'); 
     $this->data['user_id'] = $this->some_model->get_user_id(); 
    } 

    public function index() { 
     $this->load->view('my_view', $this->data); 
    } 
} 

在视图中,您可以访问它像这样:

echo $user_id; 
+0

我已经做到了,但它不工作。 。:(我已编辑我的问题.. – avinashse 2012-07-27 14:17:04

+0

我正在使用cibonfire ...如何在篝火中完成 – avinashse 2012-07-27 14:18:12

+0

var_dump($ role)产生了什么?您是否尝试访问没有'Template :: get'的'$ role'? – 2012-07-27 14:21:01