我創建一個新的模型類作爲my_model.php
/models
文件夾內,並在其內部的函數來加載所有元素模型誤差:笨
function get_all(){
$query = $this->db->get('test'); //test is my table
return $query->result();
}
在控制器中,我實例化的類和調用的方法;
$this->load->model('my_model');
$res = $this->my_model->get_all();
但是,這將引發我錯誤說:
Fatal error: Call to a member function get() on a non-object in /var/www/testapp/application/models/my_model.php on line 7
這條線7分的地方,我已經使用$this->db
代碼的部分。我試圖看到$db
的值,但我認爲它是魔法訪問器__get
和__set
,所以在調用該方法之前我看不到此屬性的值。
我試過Google搜索其他幾個案例,但沒有一個匹配我的場景,而沒有一個能夠解決我的問題。
如果是這種情況,那麼錯誤就會是''undefined property'db'...「'或加載模型失敗。 – 2011-12-24 16:57:50
是的,現在我得到了線索,我沒有做$ this-> load-> database()。我沒有在codeigniter文檔中的任何地方找到它。所以,它現在的作品,謝謝。 – Sandeep 2011-12-24 17:09:14
@Madmartigan我不這麼認爲,PHP解釋器在沒有找到'get'後會退出,因爲它是致命錯誤,不會提供'Notice'(如果db是一個未定義的屬性)。 – Usman 2011-12-24 17:10:54