PHP: Eloquent (ORM)
Теория: Коллекции
Любая выборка, построенная с помощью языка запросов или связей, это объект, который позволяет получить выбранные данные через метод get(). Сами данные при этом ведут себя как массив объектов, но в реальности не являются массивом:
Вместо массива Eloquent возвращает экземпляр Illuminate\Database\Eloquent\Collection. Это класс, расширяющий другой класс, Collection, созданный для упрощения обработки наборов данных. Он содержит внутри себя десятки удобных методов, с помощью которых данные можно фильтровать, сортировать, агрегировать и так далее.
В результате работы этого кода, внутри $names останутся имена активных пользователей.
Ниже посмотрим на некоторые полезные методы, которые могут пригодиться в повседневной работе:
Это только верхушка айсберга. Более подробно нужно смотреть в официальной документации. Библиотека Collections относится к такому типу библиотек, в которые нужно постоянно заглядывать и изучать её возможности. В любом случае, её использование значительно сокращает количество кода и делает код качественнее.
Однако, с ней легко увлечься. Эта библиотека работает с коллекциями в памяти. То есть сначала данные выгружаются из базы и затем над ними производятся нужные преобразования. Если данных много, то приложение начнет потреблять очень много памяти и станет работать медленнее. Поэтому, все операции фильтрации, группировки и сортировки, которые можно выполнить прямо в базе данных, нужно делать в базе данных. Коллекции в памяти должны быть небольшими.
.png)


