Например, я могу использовать:
$address = $user->address
, который будет возвращать адреса для пользователя.
// Пользователь. 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();
}
Однако я хотел бы вернуть BillingAddress для пользователя в зависимости от этого предложения where. Как мне это сделать?
РЕДАКТИРОВАТЬ: Если я использую это внутри ... 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 Вызов функции-члена addEagerConstraints () для null