@kakero

Как в laravel сделать глубокий HasManyThrough?

Доброго времени суток!
Я создал отношение по типу такого:
Тип.Город.Улица.Дом.Квартира
В этом отношении квартира должна зависить от Дома и от Типа одновременно - нужно получить примерно такой запрос:
select * from `apartments` where `apartments`.`home_id` in ('1', '2', '3') and `type_id` = '777'

Проблема в том, что отношение HasManyThrough смотрит только на пару уровней и с ним не получается дойти до самой первой модели.
Скажите, как это можно сделать?
  • Вопрос задан
  • 229 просмотров
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
Странный запрос у вас.
Выбирайте просто подзапросом с указанием типа, если так надо.

Связи по цепочке идут же, они не некопительные.
Только если значения всех таблиц уникальные(для каждой связки создаются свои), тогда в конце была бы квартира которая принадлежит типу изначальному.

А если просто словари, то конечно не будет так работать.

С обычными hasOne связями вложенность никак не ограничена
И можно делать например так:
client.address.city.regionsCity.region
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы