View /Fetch logged user data when logged in - CodeIgniter View /Fetch logged user data when logged in - CodeIgniter codeigniter codeigniter

View /Fetch logged user data when logged in - CodeIgniter


Well, you can store user data like id etc in session when user logs in, like below in your controller:

$this->session->set_userdata('user_details', $user_data); // say user_details is the key we store it in

In your model, you can do like below:

<?phppublic function showAllReviewers(){   $this->db->join('teachers', 'teachers.id = reviewers.user_id');   $this->db->where('reviewers.user_id',$this->session->userdata('user_details')['user_id']);   $query = $this->db->get('reviewers');   if($query->num_rows() > 0){    return $query->result();   }else{    return false;   }}

Or an even better approach is to have a private variable say user_id and set the value in the constructor. This would make sure that whenever you are accessing model instance in your controller, you already have it in your model instead of retrieving from session always.

<?phpclass YourModel extends CI_Model{    private $user_id;    function __construct(){        $this->user_id = $this->session->userdata('user_details')['user_id'];    }    public function showAllReviewers(){       $this->db->join('teachers', 'teachers.id = reviewers.user_id');       $this->db->where('reviewers.user_id',$this->user_id);       $query = $this->db->get('reviewers');       if($query->num_rows() > 0){        return $query->result();       }else{        return false;       }    }}


You must add a where condition in showAllReviewers() function's Sql query by passing current logged in User/Teacher Id Or in case of CI you can fetch the same using isLogged/getId function which used to be present in system/library/customer.