在Codeigniter控制器的构造函数中加载的模型不能被相同控制器的其他功能使用

use*_*522 2 controller model codeigniter function

我的模型:如下所示,非常基本

class User extends CI_Model
{
    function __construct()
    {
        parent::__construct();
    }

    function getAll()
    {
        $this->db->order_by("lastName", "asc");
        $this->db->order_by("firstName", "asc");
        $this->db->order_by("userName", "asc");
        $query = $this->db->get('user');

        // test for result
        if($query->num_rows() > 0)
        {
            return $query->result();
        }

        return NULL;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的控制器:实际上是我的控制器的一部分,每次按默认路由加载用户/显示功能时,错误(进一步向下)显示出来.控制器的构造函数中加载的模型是否可用于同一控制器中的所有其他函数?

class Users extends CI_Controller
{
    function __contruct()
    {
        parent::__construct();
        $this->load->model('user');
    }

    function display()
    {
        $data['users'] = $this->user->getAll();

        $head['pageTitle'] = 'Users Panel';

        $this->load->view('security/redirect');
        $this->load->view('template/head', $head);
        $this->load->view('user/usersPanel', $data);
        $this->load->view('template/foot');
    }
}
Run Code Online (Sandbox Code Playgroud)

我的错误:在上面的控制器中引用"$ data ['users'] = $ this-> user-> getAll()"这一行

A PHP Error was encountered
Severity: Notice
Message: Undefined property: Users::$user
Run Code Online (Sandbox Code Playgroud)

我的环境:

Codeigniter 2.1.0;
Mac Lion;
MAMP 2.0;
Run Code Online (Sandbox Code Playgroud)

小智 9

不应该这样:

class Users extends CI_Controller
{
    function __contruct()
    {
Run Code Online (Sandbox Code Playgroud)

是这样的:

class Users extends CI_Controller
{
    function __construct()
    {
Run Code Online (Sandbox Code Playgroud)

用构造替换contruct.

  • @Lance和Yasky试着仔细查看答案.第一个没有s的构造.然后在第二个有一个s.:d (8认同)