У меня есть Order
модель с другим отношением OrderPhoto
:
public function OrderPhoto()
{
return $this->hasMany('App\OrderPhoto');
}
В свою очередь OrderPhoto
модель имеет отношение:
public function Photo()
{
return $this->belongsToMany('App\Photo');
}
Итак, как получить данные из OrderModel
с соответствующими данными из третьей модели Photo
?
Я думаю, это:
Order::with("OrderPhoto.Photo")->get();
для извлечения только данных из Photo
модели для каждой Order
Итак, у каждого Order
есть OrderPhotos
. Отношения один ко многим.
Но один элемент из OrderPhotos
связан с первичным ключом из таблицы Photos
. Это отношение один к одному.
Мой результат запроса должен быть:
select `photos`.*, `ordersphoto`.`Orders_Id` from `photos` inner join `ordersphoto` on `ordersphoto`.`Photos_Id` = `photos`.`Id` where `ordersphoto`.`Orders_Id` in (1);
Как использовать hasManyThrough
для этого запроса?