2013-02-25 1 views
1

Да, да, я уже искал весь интернет об этой проблеме. Некоторые результаты найдены, даже из Stackoverflow. Но большинство из них говорит: «Вы должны автозагружать базу данных» или «parent :: __ construct();» как коды. Я попробовал в основном все. Все равно никакого результата. Его просто убивают меня.Codeigniter Позвоните в базу данных функций-членов() на не-объекте в

У меня есть таблица с именем «мы». Мне просто нужно прочитать данные.

Модель: применения/модель/we_model.php

class We_model extends CI_Model { 

    function __construct() { 

     parent::__construct(); 
     $this->load->database(); 
    } 

    public function get_all_we() { 

     $query = $this->db->get('we'); 
     return $query->result(); 
    } 
} 

Контроллер: applicatoin/Контроллеры/home.php

class Home extends CI_Controller { 

    function __construct() { 

     parent::__construct(); 
     $this->load->model('we_model'); 
    } 

    public function index() { 

     $data['we_lists'] = $this->we_model->get_all_we(); 
     $this->load->view('home_template_view', $data); 
    } 
} 

Автозагрузка: приложения/Config/автозагрузки. php

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

Скриншот: Error screenshot

Я использую CodeIgniter 2.1.3, WampServer 2.2e, PhpStorm 5.0.4 и после this учебника.

Обновление: Я читаю this forum. Он сказал, что после того, как он переключил свой редактор с Eclipse на Dreamweaver, код работал. Поэтому я изменил свою среду IDE, начиная с PHPStorm и заканчивая Sublime text 2. Code работает сейчас. Вы можете объяснить?

+0

Возможно, тот же вопрос, как этот вопрос [1] [1]: http://stackoverflow.com/questions/2686814/codeigniter-cant-load-database-from-within-a-model – patricksweeney

+0

Я я уже смотрел в нее. Я добавил parent :: Model(); но все тот же. – Gereltod

+0

Я изменил свой редактор. Я использовал Sublime Text 2. Теперь он работает. Что происходит!??! – Gereltod

ответ

1

Если вы не самозарядные библиотеку базы данных (и честно вы действительно должны быть) изменить эту строку:

$this->load->database(); 

к

$this->load->library('database'); 
+0

Позвоните в библиотеку функций-членов() для не-объекта в C: \ wamp \ www \ shohtg \ application \ models \ we_model.php в строке 8 – Gereltod

+0

и что такое строка 8? –

+0

oh ... нормально, если он даже не может загрузить библиотеку, есть что-то, что связано с вашей базой установки CI. Ни в коем случае нельзя бросать какую-либо ошибку. –

3

Там нет необходимости вызывать $this->load->database(); в модели

просто использовать это в autoload.php:

$autoload['libraries'] = array('database', 'session'); 
+0

Я положил эту строку, потому что код не работал. Теперь его уже удалили. И если вы прочтете мой обновленный код, работающий сейчас. Но я не знаю, почему сработало, я просто изменил IDE и начал с нуля. Каждая строка такая же, как и у старых. – Gereltod

 Смежные вопросы

  • Нет связанных вопросов^_^