Codeigniter передает объект результата db из модели в контроллер - PullRequest
1 голос
/ 04 октября 2011

Я все еще новичок в Codeigniter и у меня проблема с нубом, с которой мне нужна помощь.

Я пытаюсь установить автоматически увеличенный идентификатор для каждого пользователя для данных сеанса как 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; объект от модели до контроллера, который будет использоваться как user_id.

Может кто-нибудь дать какой-нибудь совет или я неправильно к нему подхожу?

Заранее благодарю за любую оказанную помощь.

1 Ответ

1 голос
/ 04 октября 2011

Это довольно просто, просто верните 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...