我是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');
我做错了什么?
答案 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');
但在我看来,所有模型的自动加载可能会产生一些性能问题(我不确定),但你可以做到这一点。