2013-06-16 10 views
6

Potrzebuję uzyskać identyfikator użytkownika zalogowanej osoby, dzięki czemu mogę uruchomić kwerendę dla tego użytkownika. Im using ion auth, powinienem użyć sesji lub wywołać ją z db, czy powinienem użyć pomocnika, czy nie? tak czy siak, co próbuję zrobić:codeigniter ion auth uzyskanie identyfikatora użytkownika

przykład: ile zleceń pracy zawiera użytkownik zalogowany? zapytania byłoby: select * from work_orders WHERE status = "1" i userid = "% zalogowany użytkownik"

tutaj jest mój kontroler, który nie robi mieć "dostać identyfikator użytkownika" Kod:

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'); 

} 

tutaj jest mój model:

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); 
    } 

Odpowiedz

11

Pod warunkiem, że użytkownik jest zalogowany w można uzyskać identyfikator użytkownika za pomocą funkcji get_user_id() w jonowym auth. W powiązanej notatce w swoim modelu potrzebujesz wywołania $this->db->from(), aby ustawić tabelę, aby pobrać liczbę wierszy.

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; 
} 

Użyj funkcji $this->ion_auth->logged_in(), aby upewnić się, że użytkownik jest zalogowany przed wywołaniem funkcji modelu.

+0

to było dokładnie to, czego szukasz! Dzięki wielkie – bnelsonjax

9

Możesz pobrać dane zalogowanego użytkownika, używając metody user().

Na przykład, aby uzyskać identyfikator użytkownika

echo $this->ion_auth->user()->row()->id; 
Powiązane problemy