7

ログインしているユーザーのユーザー ID を取得して、そのユーザーのクエリを実行できるようにする必要があります。イオン認証を使用しています。セッションを使用するか、データベースから呼び出す必要がありますか?ヘルパーを使用する必要がありますか? とにかく、私がやろうとしていることは次のとおりです。

例: ログインしているユーザーにはいくつの作業指示書がありますか? クエリは次のようになります: select * from work_orders WHERE status = "1" AND userid = "%THE LOGGED IN USER"

これが私のコントローラーです。これには「ユーザーIDの取得」コードがありません。

public function index()
{
    $this->load->view('templates/header');
    $data['total_open_wo'] = $this->Home_model->total_open_wo();
    $data['result'] = $this->Home_model->index();
    $this->load->view('home', $data);
    $this->load->view('templates/footer');

}

ここに私のモデルがあります:

public function total_open_wo()  {

        $this->db->where('status', "1");
        $this->db->where('tid', "NEED_THE_USER_ID");
        $num = $this->db->count_all_results('work_orders');

        return ($num);
    }
4

2 に答える 2

14

ユーザーがログインしているget_user_id()場合、ion auth の関数を使用してユーザー ID を取得できます。$this->db->from()モデルの関連する注意事項として、テーブルを設定して行数を取得するための呼び出しが必要です。

public function total_open_wo() {
  $userId = $this->ion_auth->get_user_id();
  $this->db->where('status', '1');
  $this->db->where('tid', $userId);
  $this->db->from('work_orders');
  $num = $this->db->count_all_results();

  return $num;
}

関数$this->ion_auth->logged_in()を使用して、モデル関数を呼び出す前にユーザーがログインしていることを確認します。

于 2013-06-16T18:46:09.723 に答える
13

user()メソッドを使用して、ログインしているユーザーの詳細を取得できます。

たとえば、ユーザーIDを取得するには

echo $this->ion_auth->user()->row()->id;
于 2013-06-16T18:59:50.947 に答える