besogonskiy
@besogonskiy

Как получить иерархическую структуру после выполнения запроса?

Этот вопрос относится именно к Laravel.
Вопрос такой: Как без конструкции with получить иерархическую структуру после запроса к данным?

Мне вот что нужно получить:

Главный товар 1
- оффер1
- оффер2
- оффер3
Главный товар 2
-оффер4
-оффер5
.....

Такое я получаю при помощи кода:
Product::with('offers')->get();

Но так уж поулчилось, что я не могу использовать конструкцию with но мне надо получить именно вложенную выборку. как этого добиться?

у меня код очень сложный. Там из двух схожих сущностей получаем при помощи Eloquent нужный запрос.
потом конвертируем его в SQL объединяем запросы при помощи mergeBindings
и получаем итоговый запрос. там уже конструкция with не действует. Ведь это не Eloquent более.

А значит нужно понять как при помощи query builder получить возможность связать одну таблицу с другой и получить не просто выборку записей, а выборку с учетом вложенной структуры как если бы это было with()
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Kostik_1993
Fullstack Web Developer | PHP | Laravel | Vue.js
На уровне базы данных в рамках текущего запроса никак. Делайте вторым запросом выборку по id товаров верхнего уровня товары второго и объединяйте на уровне массивов

Мне кажется за вас пишут ваш проект участники тостера. Своей головой нужно думать, иначе отупеет мозг.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы