2012-07-03 112 views
0

我得到的錯誤錯誤調用成員函數

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. 
    }    
} 

回答

1

我想說的是,你的電話

$data['products'] = $this->cart_model->retrieve_products(); 

應該是:

$data['products'] = $this->Cart_model->retrieve_products(); 

即:在cart_model大寫字母「C」

+0

好吧,已經試過,但顯示相同的問題。在某處,我發現當數據庫表(在這種情況下'產品')中沒有條目時,它顯示錯誤,但我確實有一些條目。 –

+0

數據庫庫是否存在並加載? – jco

1

也許我們'使用不同的版本(我有1.7.2),但要聲明一個模型,CI_不會出現。我的工作代碼具有相當於:

class Cart_model extends Model 

此外,類應該大寫:

$this->Cart_model->retrieve_products(); 

(代替)

$this->cart_model->retrieve_products(); 
0

我覺得這是你的錯字錯誤你有拼寫構造函數作爲_construct而非__construct這就是爲什麼笨認爲它作爲一種功能,而不是一類的構造函數和模型加載僅限於該功能。

相關問題