Модель доступа к когниторингу из библиотеки

Я пытаюсь интегрировать следующий код в свой проект. он хранится в библиотеке

function do_std_login($email, $password) {
    $CI =& get_instance();
    $login = $CI->users_model->login($email, md5($password));
    if($login){
        $session_array = array(
            'user_id' => $login->user_id,
            'name' => $login->name,
            'type' => 'Standard'
        );
        $CI->session->set_userdata($session_array);

        // Update last login time
        $CI->users_model->update_user(array('last_login' => date('Y-m-d H:i:s', time())), $login->user_id);

        return true;
    } else {
        $this->errors[] = 'Wrong email address/password combination';
        return false;
    }
}

Я называю это следующим образом:

$login = $this->jaclogin->do_std_login($this->input->post('email'),$this->input->post('password'));

но при запуске я получаю следующую ошибку

Возникла ошибка PHP Уровень важности: уведомление Сообщение: Undefined свойство: Login:: $users_model Имя файла: libraries/jaclogin.php Номер строки: 45

У меня есть проверка, что я загружаю правильную библиотеку в файл автозагрузки codeigniter.

Любые идеи?

Спасибо

Джейми Норман

Ответ 1

Используя ваш экземпляр CI, загрузите свою модель явно в библиотеке, например...

function do_std_login($email, $password) {
    $CI =& get_instance();
    //--------------
    $CI->load->model('users_model');  //<-------Load the Model first
    //--------------
    $login = $CI->users_model->login($email, md5($password));
    if($login){
        $session_array = array(
            'user_id' => $login->user_id,
            'name' => $login->name,
            'type' => 'Standard'
        );
        $CI->session->set_userdata($session_array);

        // Update last login time
        $CI->users_model->update_user(array('last_login' => date('Y-m-d H:i:s', time())), $login->user_id);

        return true;
    } else {
        $this->errors[] = 'Wrong email address/password combination';
        return false;
    }
}