【发布时间】:2015-09-18 05:23:46
【问题描述】:
假设我有一个模型,我想返回一个关系,但这取决于模型的属性值。我在我的模型中试过这个:
public function paymentType(){
if($this->type > 1) return $this->hasOne(PaymentType::class, 'type', 'type');
if($this->type == 1) return $this->hasOne(PaymentType::class, 'payment_type', 'pay_type');
}
当我有模型的实例时,我可以很好地调用这种关系,但是当我尝试预先加载并调用 with('paymentType') 时,我得到异常 Call to a member function addEagerConstraints() on null
【问题讨论】:
-
在使用
paymentType()关系的查询中是否有with()调用? -
是的,我应该在我的问题中指出,当我有模型的实例时,该方法可以正常工作。但是,当我尝试加载关系
->with('paymentType)时,我得到了异常。已在我的问题中修复。