2010-08-09 59 views
33

Possible Duplicate:
Error : get property of non-object笨模型错误:未定义的属性

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

这是我的模型: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 

Fatal error: Call to a member function query() on a non-object in
G:\xampp\htdocs\fiksi\system\application\models\user.php on line 30

线30见上文评论。 。 。

回答

107

您必须首先加载db库。在

autoload.php:

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

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

+0

谢谢你这么多 – xsami 2015-04-14 21:01:51

+0

我收到此错误,严重性:注意 消息:使用未定义的常量“数据库”的 - 假设“‘数据库’” 文件名:配置/ autoload.php – Anuj 2016-12-18 04:46:18

1

它解决了模型负载throung第二参数:

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

第一个参数是该模型的文件名,和第二它定义模型的名称,以在控制器用来:

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

     parent::Model(); 

} 

=>类名称为User,构造名称为User。

function User() { 

     parent::Model(); 

} 
相关问题