我是codeigniter的新手。我在一个使用codeigniter构建的软件中看到了belove代码
$this->view_data['customer'] = Customer::first(array('conditions'=>array('customer_id' => 311)));
$this->content_view = 'customer/customer_all';
以上行从customer表中获取customer_id = 311
的数据现在我想从quotation_id = 12的报价表中获取数据 所以我写了下面的代码
$this->view_data['quotation'] = Quotation::first(array('conditions'=>array('quotation_id' => 12)));
$this->content_view = 'quotation/quotation_all';
但此代码无法正常工作并显示错误
Fatal error: Call to undefined method Quotation::first() in C:\wamp\www\pms\application\controllers\quota.php on line 26
任何正文都可以帮我说明这段代码是如何运作的
先谢谢
答案 0 :(得分:0)
如果first()
类中没有Quotation
函数,那么这就是您收到此错误的原因。您正在尝试调用不存在的函数。
答案 1 :(得分:0)
该功能在Customer Class中定义,但在Quotation Class中未定义。 尝试在Quotation Class中定义它。
答案 2 :(得分:0)
您引用的代码将具有如下结构:
class Customer{
.
.
.
public static function first($where){
....
}
}
OR
class Customer extends SomeOtherClass{
// the function first() might be present in the SomeOtherClass class.
}
您的班级Quotation
缺少此功能。因此,显示的错误告诉您它试图在您的班级first()
中查找函数Quotation
,但没有找到它。
编辑:根据你的评论,是的,你是对的。 Customer
类必须扩展另一个包含公共函数first()
的类。这是在first()
类中找不到Customer
的唯一解释。