Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Session Codeigniter将db结果对象从模型传递到控制器_Session_Codeigniter_Model_Controller - Fatal编程技术网

Session Codeigniter将db结果对象从模型传递到控制器

Session Codeigniter将db结果对象从模型传递到控制器,session,codeigniter,model,controller,Session,Codeigniter,Model,Controller,我对Codeigniter还是一个新手,有一个noob问题需要帮助 我正在尝试将每个用户的自动递增id号设置为会话数据user_id。 例如: 控制器: $username = $this->input->post('username'); $this->load->model('membership_model'); $user_id = $this->membership_model->getUser_id(); $data = array(

我对Codeigniter还是一个新手,有一个noob问题需要帮助

我正在尝试将每个用户的自动递增id号设置为会话数据user_id。 例如:

控制器:

$username = $this->input->post('username');
$this->load->model('membership_model');
$user_id = $this->membership_model->getUser_id(); 

$data = array(
    'session_id' => $str = do_hash($str),
    'user_id' => $user_id,
    'username' => $username,
    'is_logged_in' => true
);          
$this->session->set_userdata($data);
redirect('site/members_area');
型号:

public function getUser_id()
{

    $session_username = $this->session->userdata('username');

    $q = $this->db->get_where('membership', array('username' => $session_username), 1);

    if($q->num_rows() > 0) {
        foreach($q->result() as $row) {
            $row->id;
            $row->username;
        }
        return $data;
    }
}
我的问题是我不知道如何传递$row->id;对象从模型到要用作用户id的控制器

有人能给我一些建议吗?还是我的方法不对


提前感谢您提供的任何帮助。

非常简单,只需返回id:

public function getUser_id()
{

    $session_username = $this->session->userdata('username');

    $q = $this->db->get_where('membership', array('username' => $session_username), 1);

    if($q->num_rows() > 0) {
       $row = $q->row(); 
       return $row->id;
    }
    return false;  // else return false
}

很简单,只需返回id:

public function getUser_id()
{

    $session_username = $this->session->userdata('username');

    $q = $this->db->get_where('membership', array('username' => $session_username), 1);

    if($q->num_rows() > 0) {
       $row = $q->row(); 
       return $row->id;
    }
    return false;  // else return false
}

为什么不为CI使用现有的安全模型?那里有很多。(我知道这并不能解决您的问题)。为什么不为CI使用现有的安全模型?那里有很多。(我知道这不能解决你的问题)。