0

プロジェクトにたき火を使用しています。

すべてのビューでそのユーザー IDuseridに従ってデータベースから取得し、使用する必要があります。username

今私がやっていることは、モデル関数があり、その関数がすべてのコントローラー関数で呼び出されてフェッチされuseriduseridページを表示するように設定されていることです。

コントローラー関数ごとにそのコードを繰り返す必要があります。私のクエリは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 に答える