PHP Codeigniter - 控制器上的未定义属性

时间:2013-07-23 11:25:39

标签: php codeigniter

我是Codeigniter的新手,我使用的版本是最新的Codeigniter v2.1.4

我正在做一些简单的CRUD作为制作我自己的网络博客的开始,但它在我的控制器上收到如下错误信息。

  

消息:未定义的属性:Site :: $ site_model

控制器

function blog() {
        $data = array();
        $query = $this->site_model->get_records();

        if (isset($query)) {
            $data['records'] = $query;
        }

        $data['main_content'] = 'blog';
        $this->load->view('includes/template', $data);
    }

在这一行$query = $this->site_model->get_records();

上有抱怨

模型

function get_records() {
        $query = $this->db->get('data');
        return $query->result();
    }

也加载了db库..

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

我做错了什么?

1 个答案:

答案 0 :(得分:1)

在此之前,您需要load the model喜欢

$data = array();
$this->load->model('site_model');   //Here
$query = $this->site_model->get_records();

当您处理模型函数时,在此之前您还需要加载模型。

正如 Hashem Qolami 所说,您可以自动加载模型,如

$autoload['model'] = array('model1', 'model2'); 

但在我看来,所有模型的自动加载可能会产生一些性能问题(我不确定),但你可以做到这一点。