$billing->bookingHeader->getCodeNumber('BKG');
实际上,$ billing是一种模式,而bookingHeader就是这种关系。
此行生成错误
Fatal error: Call to a member function getCodeNumber() on a non-object
以下是包含结果的组件。
class MonthlyTransactionActiveRecord extends ActiveRecord
{
public function getCodeNumber($cnConstant = '')
{
$arr = array('I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XI', 'XII');
$month = $this->cn_month ? $this->cn_month - 1 : 0;
return sprintf('%02d/%04d/%s/%s/%02d', $this->hotel_id, $this->cn_ordinal, $cnConstant, $arr[$month], $this->cn_year);
}
}
我两次调用$billing->bookingHeader->getCodeNumber('BKG');
(在视图和控制器中),它在视图中没有错误,但是当我在Controller中调用它时,它给了我错误。
错误导致什么样的触发?如何解决? 谢谢..
答案 0 :(得分:0)
在调用方法之前检查对象天气是否为空。
if($billing->bookingHeader){
$billing->bookingHeader->getCodeNumber('BKG');
}else{
echo "bookingHeader is empty";
}