2012-07-27 75 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