codeigniter模型错误:未定义的属性

时间:2010-08-09 14:12:50

标签: php codeigniter

  

可能重复:
  Error : get property of non-object

我是codeigniter模型的新手,我尝试按照文档中的步骤加载在我的数据库中注册的所有用户。

这是我的模特:user.php

class User extends Model {
     function user() {
         parent::Model();
     }
     function alluser() {
         $query = $this->db->query("select * from user limit 0,5"); //Line 30 error as in my IDE located in this line
         return $query->result();
     }
}

这是我的控制器:home.php

class home extends Controller {

function index() {

    parent::Controller();

}
function alluser() {
    $this->load->model('User');
    $result = $this->User->showusers();
    if ($result->num_rows()>0) {
        foreach ($result as $row) {
            echo "ID:".$row->userid." ".$row->userpenname."<br />";
            echo $row->userfirstname." ".$row->userlastname."<br />";
        }
      }
   }
}

显示错误:

A PHP Error was encountered

Severity: Notice

Message: Undefined property: User::$db

Filename: models/user.php

Line Number: 30
  

致命错误:在第30行的G:\ xampp \ htdocs \ fiksi \ system \ application \ models \ user.php中的非对象上调用成员函数query()

第30行见上面的评论......

3 个答案:

答案 0 :(得分:119)

您必须先加载数据库库。在autoload.php添加:

$autoload['libraries'] = array('database');

另外,尝试重命名“User_model”的用户模型类。

答案 1 :(得分:1)

它解决了模型加载中的第二个参数:

$this->load->model('user','User');

第一个参数是模型的文件名,第二个参数定义了控制器中使用的模型名称:

function alluser() 
{
$this->load->model('User');
$result = $this->User->showusers();
}

答案 2 :(得分:1)

function user() { 

       parent::Model(); 

} 

=&GT;类名是User,构造名是User。

function User() { 

       parent::Model(); 

}