РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplrSpClInr 66 of 210 menu

Введение в коллекции в Laravel

Когда вы получаете модели из базы данных - через get, all и похожие методы - Laravel возвращает не обычный массив PHP, а коллекцию. Это специальный объект, внутри которого лежат ваши записи, но работать с ним удобнее, чем с «голым» массивом.

По сути коллекция - обёртка над набором элементов. Снаружи вы видите знакомый список моделей или значений, а внутри доступны готовые операции: отфильтровать лишнее, преобразовать каждое значение, отсортировать, посчитать сумму, взять первые несколько элементов, сгруппировать по полю и многое другое. Всё это делается методами коллекции, часто в виде цепочки вызовов.

В повседневной работе с Eloquent коллекция появляется почти всегда: выбрали посты, юзеров, товары - получили коллекцию. Дальше уже в PHP (в контроллере, сервисе, Blade) решаете, что с этими данными сделать: оставить только активные, вытащить только имена, отсортировать по дате, посчитать среднюю цену.

Часть задач можно решить и в SQL (условия в where, сортировка в запросе). Но когда данные уже загружены или логика удобнее на стороне PHP, методы коллекции дают гибкий и читаемый способ обработать набор без ручных циклов и временных массивов.

В следующем уроке получим посты из базы и убедимся на практике, что результат - коллекция. Затем научимся создавать коллекции вручную и разберём методы по темам: получение элементов, проверки, фильтрация, преобразование, сортировка и так далее - от самых частых к более редким. Сейчас важно понять идею: коллекция - это результат выборки из БД (и не только) плюс набор удобных операций над этими данными.

Что возвращает Laravel при выборке моделей через get - обычный массив или коллекцию?

Какие операции можно выполнять над коллекцией? Приведите несколько примеров.

Когда удобнее обрабатывать данные методами коллекции, а когда - условиями в SQL-запросе?

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить