ошибка модели codeigniter: неопределенное свойство

Возможный дубликат:
Ошибка: получить свойство не- объект

Я новичок в модели 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

Неустранимая ошибка: вызов функции-члена query() для необъекта в
G:\xampp\htdocs\fiksi\system\application\models\user.php в строке 30

Строка 30 см. комментарий выше...


person Vina    schedule 09.08.2010    source источник


Ответы (3)


Сначала вы должны загрузить библиотеку db. В autoload.php добавить:

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

Кроме того, попробуйте переименовать класс модели пользователя в «User_model».

person Nacho    schedule 09.08.2010
comment
Я получаю эту ошибку, серьезность: сообщение уведомления: использование неопределенной постоянной «базы данных» - предполагаемая «база данных» Имя файла: config/autoload.php - person Anuj; 18.12.2016
comment
Спасибо! Работает как шарм - person Jaswant Singh; 22.11.2018

Это решается через второй параметр в загрузке модели:

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

первый параметр — это имя файла модели, а второй определяет имя модели, которая будет использоваться в контроллере:

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

function user() { 

       parent::Model(); 

} 

=> имя класса — User, имя конструкции — User.

function User() { 

       parent::Model(); 

} 
person John Hu    schedule 02.10.2010