报错: must return a relationship instance"/>
Model报错: must return a relationship instance
模型里面有一个方法是这样的:
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()的方式
更多推荐
Model报错: must return a relationship instance
发布评论