2015-12-21 1 views
1

У меня есть эта публичная функция в папке модели, которые получают входные сигналы от контроллера имени пользователя и пароля:CodeIgniter: Как вернуть все данные в строку таблицы после valitdaion?

// Validate that the user is registered and returns true or false. 
public function validate($email, $password) { 

    $this->db->select('u_email', 'u_password'); 
    $this->db->from('users'); 
    $this->db->where('u_email', $email); 
    $this->db->where('u_password', $password); 

    $query = $this->db->get(); 

    if ($query->num_rows() == 1) { 
     return $query->result(); 
    } else { 
     return FALSE; 
    } 


} 

Я хочу его вернуть всю информацию строки, которые принадлежат к этому имени пользователя + паролю (есть u_id, u_email, u_name, u_permissions).

Так что я могу использовать в контроллере и сохранить в сессии:

$this->load->model('membership_model'); 
    $query = $this->membership_model->validate($email, $password); 


    if ($query) { // if the user's credentials validated... 

     $data = array(
       'u_id' => $query->u_id, 
       'email' => $query->u_email, 
       'name' => $query->u_name, 
       'permittions' => $query->u_permittion, 
       'is_logged_in' => TRUE 
      ); 

     $this->session->set_userdata($data); 

ответ

2

Просто использовать * для извлечения всех данных и использовать row() для получения одного выборки грести

$this->db->select('*');// use * here 
$this->db->from('users'); 
$this->db->where('u_email', $email); 
$this->db->where('u_password', $password); 

$query = $this->db->get(); 

if ($query->num_rows() == 1) { 
    return $query->row();// use row(); 
} else { 
    return FALSE; 
} 

Read https://www.codeigniter.com/user_guide/database/examples.html

Смежные вопросы