0

簡単な質問で申し訳ありませんが、Ion-Auth と Codeigniter を使用して、ログインしているユーザーとログインしていないユーザーを区別しているとしましょう。

そして、ユーザーの ID をそのままキャプチャする単純なカスタム コントローラーがあります。

class MY_Controller extends CI_Controller {
     function __construct() {
        parent::__construct();
        global $data;
            if($this->ion_auth->logged_in()){
            $data['logged'] = True;
            $data['uid'] = $this->ion_auth->get_user_id();
            $data['username'] = $this->ion_auth->get_username();
        }

        //User is Not Logged in
        else{
            $data['logged'] = False;
        }
    }
}

次に、通常のコントローラーのいずれかを使用して、ログインしているユーザーではなく、ログインしているユーザー向けのページを吐き出したい...

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends MY_Controller {
        {
        global $data;
            if($data['logged']) {
                $this->load->view('logged_in', $data);
                }
            else{
                $this->load->view('not_logged_in', $data);
            }   
        }
}

私の質問は、モデルに uid を渡すにはどうすればよいですか? 一部のモデルは、関数を呼び出さないデフォルトの CI コントローラーによって呼び出されます$this->ion_auth->get_user_id();。これらのデフォルト コントローラに移動してモデルに uid を渡す必要があります$this->ion_auth->get_user_id();か、それともモデル内で関数を直接呼び出す必要がありますか?

混乱を招いて申し訳ありません。user_id を必要とする、または必要としないコントローラーとモデルの混乱があり、それぞれをハードコードする必要がないようにしています。

4

2 に答える 2

0

モデルにライブラリをロードする必要はありません。モデルは常にコントローラーから呼び出されるため、コントローラーにライブラリをロードするだけで、彼から呼び出されたモデルで関数を使用できます。

だからコード

$this->ion_auth->get_user_id()

コントローラーによってロードされたすべてのモデルで機能します

于 2013-12-07T20:58:28.240 に答える