模型里面有一个方法是这样的:
public function adjustbills()
{
if($this->user_combined == '1'){
$invoiceNumberArr = ['xxx'];
return Adjustbill::whereIn('invoice_number',$invoiceNumberArr)->where('user_id', $this->user_id);
}else{
return $this->hasMany(Adjustbill::class, 'invoice_number', 'invoice_number')->where('user_id', $this->user_id);
}
}
当调用方式是Model->adjustbills的时候,
- 要是走到了下面的判断,不会报错
- 要是走到了上面的判断, 会报错must return a relationship instance, 因为laravel默认会用到下面的hasMany的关系, 如果没有的话就会报错.
解决方法:
- 想办法把上面的逻辑修改成下面的那种关系方式
- 调用方式用:Model->adjustbills->get()的方式