Codeigniter - 在非对象上调用成员函数

时间:2011-11-07 10:31:50

标签: php codeigniter

有人可以向我解释为什么我收到以下错误,我之前收到过多次并且没有找到原因:

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 个答案:

答案 0 :(得分:1)

复制回答:

我可能会离开,但不是型号名称区分大小写?因此,如果您的模型是类News_model,则应该通过$ this-> News_model-> category_exists调用它。 (虽然你已经省略了声明,所以这只是猜测)

答案 1 :(得分:0)

你有config/autoload.php吗?

如果是,则将其加载到config/autoload.php文件(在底部)

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

如果没有,请加载它:

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

模型文件名必须与模型类名相同。

也可以使用用户指南检查构造函数。

function __construct() { // Call the Model constructor parent::__construct(); }