Codeigniter - вызов функции-члена для необъекта - PullRequest
1 голос
/ 07 ноября 2011

Может кто-нибудь объяснить мне, почему я получаю приведенную ниже ошибку, я получал ее много раз раньше и не выяснил, почему:

Fatal error: Call to a member function category_exists() on a non-object in C:\wamp\www\application\controllers\news.php on line 50

Контроллер (news.php):

...

    public function category($category,$id,$title){


        if($this->news_model->category_exists($category) == true){
            echo 'true';
        }
        else {
            echo 'false';
        }

}
...

The model:

        function category_exists($category)
{
    $this->db->where('news_category',$category);
    $query = $this->db->get('news_category');
    if ($query->num_rows() > 0){
        return true;
    }
    else{
        return false;
    }
}

Если бы вы могли объяснить, что означает ошибка и почему она не является объектом или как превратить ее в объект, который был бы замечательным ...

РЕДАКТИРОВАТЬ: МОДЕЛЬ АВТОЗАГРУЗКА

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Скопировано для ответа:

Возможно, я выключен, но не чувствительны ли к регистру названия моделей? Так что, если ваша модель класса News_model, она должна вызываться $ this-> News_model-> category_exists. (хотя вы пропустили объявление, так что это только предположение)

0 голосов
/ 07 ноября 2011

У вас есть config/autoload.php?

Если да, то загрузить его в файл config/autoload.php (внизу)

$autoload['model'] = array();

Если нет, загрузите его:

$this->load->model('news_model');

Имя файла модели должно совпадать с именем класса модели.

Проверьте конструктор и в руководстве пользователя.

function __construct() { // Call the Model constructor parent::__construct(); }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...