->get()->toArray();
... да точно спасибо.
Просто get должно быть достаточно для твига. toArray уже может быть лишним циклом
А вот вопрос лишний ли он (действительно вопрос, я просто не знаю) - получая по get коллекцию я пихаю её в твиг вместе с кучей ненужного барахла, а твиг гоняет по ней цикл. Но твиг же не язык, он сначала преобразуется в пых и только потом начинается цикл. Так вот вопрос: не быстрее ли отфильтровать в toArray() только поля, отправить в твиг уменьшенное количество данных и гонять твиг уже по обрезку?
Я предварительно запустил onInit(){ dd(myEntry) } Чтобы посмотреть какого объёма массив на выходе. У меня
Базовую работу коллекций бы знать надо ))) ->toArray() - приводит все к массиву. Тоесть по умолчанию это цикл, который проверяет каждый элемент на реализацию Arrayable интерфейса, и если он реализован, например там модель, то уходит в рекурсивный цикл. Тоесть приводит модель к массиву, проверяя ее зависимости, приводя к массиву, и коллекции приводя к массиву. ->all() - возвращает массив коллекции в формате «как есть», тоесть все в том виде в котором лежит в коллекции. А теперь вопрос учитывая твиг - нафига нам лишние итерации циклов. Если скорее всего коллекцию кормят какому нибудь циклу for, или вообще берут только первый элемент. В большинстве случаев цикл ради цикла не нужен.
Обсуждают сегодня