我是codeigniter的新手,我一直试图弄清楚这一行出了什么问题
这是我的控制器
class Product extends CI_Controller{
function index(){
$this->load->model('product_model');
$data['products'] = $this->product_model->get_all_products();
$this->load->view('all_products', $data);
}
}
这是我的模特
class Product_model extends CI_Model {
function get_all_products(){
$query = $this->db->get('products');
if($query->num_rows() > 0){
foreach($query->result() as $row){
$data[] = $row;
}
return $data;
}
}
}
这是我的错误
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Product::$db
Filename: core/Model.php
Line Number: 50
Fatal error: Call to a member function get() on a non-object in /Users/matt/Sites/ci/application/models/product_model.php on line 9el.php on line 6
错误在这一行
$query = $this->db->get('products');
为什么它失败了codeigniter文档以这种方式描述...我还有一个产品表
答案 0 :(得分:12)
试
$autoload['libraries'] = array('database');
在application / config / autoload.php
中答案 1 :(得分:0)
你需要检查两件事
1-你不缺少构造函数
class Product_model extends CI_Model {
function __construct(){
parent::__construct();
}
}
2-你已经加载了数据库库。转到 application / config / autoload.php 并在自动加载库中添加“数据库”。
$autoload['libraries'] = array('database');
答案 2 :(得分:0)
您必须使用此$autoload['libraries']
$autoload['libraries'] = array('database', 'form_validation');