我收到错误
Fatal error: Call to a member function retrieve_products() on a non-object
控制器是:
<?php
class Cart extends CI_Controller { // Our Cart class extends the Controller class
public function _construct()
{
parent::_construct(); // We define the the Controller class is the parent.
$this->load->model('Cart_model'); // Load our cart model for our entire class
}
function index()
{
$data['products'] = $this->cart_model->retrieve_products(); // Retrieve an array with all products
}
}
模型是:
<?php
class Cart_model extends CI_Model {
function retrieve_products(){
$query = $this->db->get('products'); // Select the table products
return $query->result_array(); // Return the results in a array.
}
}
答案 0 :(得分:1)
也许我们正在使用不同的版本(我有1.7.2),但要声明模型,CI_
不会出现。我的工作代码相当于:
class Cart_model extends Model
此外,该课程应该大写:
$this->Cart_model->retrieve_products();
(而不是)
$this->cart_model->retrieve_products();
答案 1 :(得分:1)
我想说你的电话
$data['products'] = $this->cart_model->retrieve_products();
应该是:
$data['products'] = $this->Cart_model->retrieve_products();
即:cart_model中的大写“C”
答案 2 :(得分:0)
我认为你的拼写错误拼写构造函数为_construct
而不是__construct
这就是为什么codeigniter认为它是一个函数而不是类构造函数,而模型加载仅限于该函数。