【发布时间】:2020-02-25 12:21:31
【问题描述】:
例如我可以使用:
$address = $user->address
这将为用户返回地址。
// User.php(模型)
public function address()
{
return $this->hasMany(Address::class, 'refer_id', 'id');
}
public function billingAddress()
{
return $this->address()
->where('type', '=', 1)
->where('refer_id', '=', $this->id)
->first();
}
但是,我想根据这个 where 子句为用户返回 BillingAddress。我该怎么做?
编辑: 如果我在里面使用它... OrderController@index 它会正确返回
$orders = Order::with('order_fulfillment', 'cart.product', 'user.address', 'payment')->get();
return new OrderResource($orders);
但是,如果我将其更改为:
$orders = Order::with('order_fulfillment', 'cart.product', 'user.billingAddress', 'payment')->get();
return new OrderResource($orders);
我收到此错误:
Symfony\Component\Debug\Exception\FatalThrowableError
在 null 上调用成员函数 addEagerConstraints()
【问题讨论】:
-
$user-> billingAddress() 的输出是什么;
-
@invalidbot 查看更新