我创建一个新的模型类作为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