fomvasss
@fomvasss
PHP developer

Как построить запрос для вытягивание древовидной структуры типа Отзыв->Отзыв-ответ->Отзыв-ответ-на-ответ...->?

Здравствуйте! Столкнулся с проблемой построения sql-запроса для вытягивания данных с базы данных в виде структуры дерева.
Вытянуть данные то можно, но у меня получается много запросов.

Ну вот например: на сайте есть статьи, и в них есть отзывы (parent), при этом каждый отзыв может иметь еще отзывы-ответы (child), а эти отзывы еще, и т.д. Каждый отзыв также может иметь несколько прикрепленных картинок (отдельная таблица).
Все отзывы хранятся в одной таблице: есть отзывы без родителей, а есть с родителями.

Если в модели Answer в массив $with добавить childs, то выходит: вот столько запросов:
39688f73a4f34bca895a6d519a9be6ff.png
И это только для одного ответа с тремя уровнями структуры и без прикрепленных картинок

Использую фреймворк Laravel, для вывода json массива - laravel-fractal
Хочу посмотреть примеры, советы как такое вообще делается..
  • Вопрос задан
  • 301 просмотр
Решения вопроса 1
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
выбирать надо все из базы, а потом раскидывать рекурсивной функцией по уровням.

или гуглить что-то такое
https://stackoverflow.com/questions/20215744/how-t...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
UksusoFF
@UksusoFF
Комментировать
Ваш ответ на вопрос

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

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