库中的codeigniter访问模型 [英] codeigniter access model from library

查看:60
本文介绍了库中的codeigniter访问模型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将以下代码集成到我的项目中。

I am trying to integrate the following code into my project. it is held in a library

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'));

但是当我运行它时,出现以下错误

but when I run it I get the following error

遇到PHP错误
严重性:注意
消息:未定义的属性:Login :: $ users_model
文件名:libraries / jaclogin.php
行号:45

A PHP Error was encountered Severity: Notice Message: Undefined property: Login::$users_model Filename: libraries/jaclogin.php Line Number: 45

我检查了我是否在codeigniter自动加载文件中加载了正确的库。

I have check I am do load the correct library in the codeigniter autoload file.

有什么想法吗?

谢谢

Jamie诺曼(Norman)

Jamie Norman

推荐答案

使用CI实例,像这样在库中显式加载模型。.

Using your CI instance, load your model explicitly in the library like so..

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;
    }
}

这篇关于库中的codeigniter访问模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆