Неустранимая ошибка: вызов функции-члена get () для необъекта в C: \ wamp \ www \ ci \ application \ models \ site_model.php в строке 6 - PullRequest
3 голосов
/ 09 марта 2012

Здравствуйте, я только что посмотрел первую / Day1 скринкаст в Nettuts "CodeIgniter from scracth", и у меня уже возникла ошибка, которую я не понимаю. Вот скриншот http://i39.tinypic.com/14mtc0n.jpg

Код в моих моделях \ site_model.php такой же, как на экране

   models\site_model.php

   class Site_model extends CI_Model {  
   function getAll() {
    $q = $this->db->get('test');        
    if($q->num_rows() > 0) {
        foreach ($q->result() as $row) {
            $data[] = $row;
        }
    return $data;
    }
}

И контроллеры контроллеров \ site.php

   class Site extends CI_Controller {
function index(){
    $this-> load-> model('site_model'); 
    $data['records'] = $this-> site_model-> getAll();
    $this-> load-> view('home', $data);

}   
 }

А вот и моя информация о БД

 $db['default']['hostname'] = 'localhost';
 $db['default']['username'] = 'root';
 $db['default']['password'] = '';
 $db['default']['database'] = 'ci_series';
(rest is default below)

Спасибо

Ответы [ 2 ]

11 голосов
/ 09 марта 2012

Сначала необходимо загрузить базу данных.Codeiginiter не будет загружать его по умолчанию для вас.

Вы можете либо добавить его к /config/autoload.php, например

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

, либо загрузить его по требованию, когда захотите, позвонив

$this->load->database();

Подробнее здесь

http://codeigniter.com/user_guide/database/connecting.html

0 голосов
/ 09 марта 2012

Добавьте конструктор к вашей модели, если у вас нет:


class Site_model extends CI_Model {  

    function __construct()
    {
        parent::__construct();
    }
......
}

И: автозагрузка базы данных путем изменения application / config / autoload.php, если у вас нет автозагрузки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...