Laravel, слишком много запросов, если я манипулирую возвращенной коллекцией Eloquent - PullRequest
0 голосов
/ 19 ноября 2018

Я использую Laravel 5.7 и некоторые базовые отношения между двумя таблицами

, когда я пытаюсь что-то сделать с возвращенной коллекцией Eloquent,
Я нахожу записи DebugBar множеством запросов

как в этом примере:

$articles = \App\Article::get();
return count($articles->toArray());
// DebugBar records about 395 queries

Напротив, если использовать помощник по подсчету коллекций

$articles = \App\Article::get();
return $articles->count();
// DebugBar records only 2 queries

1 Ответ

0 голосов
/ 19 ноября 2018

Коллекции - это ленивая оценка, когда дело доходит до поиска отношений.Когда вы конвертируете это в массив, нужно выполнить больше запросов, чтобы получить больше данных.Если это коллекция, она является отзывным объектом и может далее цеплять методы для получения отношений и будет действовать только в соответствии с последующим вызовом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...