Как решить ошибку нехватки памяти при выполнении такого запроса?

Добрый день!

Задача состоит в получении списка всех permissions для заданного экземпляра(ов) модели.
Делаю такую команду в методе контролера и получаю ошибку нехватки памяти.
BigTask::where('id', $id)->with(['modules.groups.permissions' => function ($q) use (&$permissions) {
     $permissions = $q->get()->unique();
}])->first();


Модели BigTask и соответствующие relation-модели modules, groups, имеют поля типа LONGBLOB. Подозреваю в том, что при выполнении эти поля все пытаются погрузиться.

В связи с этим, вопросы: 1) возможно ли загружать только определенные поля, а не все); 2) или есть другой способ получения списка $permissions
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Yan-s
Начните с чтения документации https://laravel.com/docs/queries#selects
BigTask::where('id', $id)->with(['modules.groups.permissions' => function ($q) use (&$permissions) {
     $permissions = $q->get()->unique(); // <--- что это вы тут делаете?
}])->first();
Ответ написан
Ваш ответ на вопрос

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

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