0

我正在为我的项目使用篝火。

我必须userid根据username并在每个视图中使用该用户标识从数据库中获取。

现在我正在做的是我有一个模型函数,并且在每个控制器函数中调用该函数来获取它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();

    }
4

1 回答 1

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;
于 2012-07-27T14:08:41.973 回答