Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 26.09.2019 11:15:26

Ленивая загрузка без eloquent?

Всем привет.

Делаю такой запрос:

$version = Version::find(1);
$version->load(['groups.products.fields', 'items.products.fields']);

Если сделать дебаг запросов, то формируется около 10 запросов и огромная выборка моделей (порядка 1-1.5к).
Продебажив, выяснили - тупит именно элоквент, из за такого количества моделей.

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

Не в сети

#2 11.10.2019 12:49:14

Re: Ленивая загрузка без eloquent?

Может я скажу что то совсем простое иии тупое или глупое, но ведь логично, что такое количество в выборке. Тебе нужно продумать саму выборку, как бы ты на чистом sql выбирал. Просто сперва получаешь таблицу версий, к каждой внутренней записи цепляешь энное количество записей из таблицы групп, в свою очередь к её записям ещё и продуктов записи, а к продуктам поля. . . Ну это перебор. Быть может джойны тут спасут.

Не в сети

Подвал раздела