О web-разработке
и даже немного больше...

Проверка на пустоту коллекций Eloquent в Laravel

Все методы Eloquent, которые возвращают более одного результата модели, будут возвращать экземпляры класса Collection (Illuminate\Database\Eloquent\Collection), включая результаты, полученные с помощью метода get или доступные через отношения. Объект коллекции Eloquent наследует десятки методов, расширяя базовую коллекцию Laravel используя в работе текучий интерфейс с базовым массивом моделей Eloquent. Все коллекции по своей сути являются итераторами, это позволяет перебирать их так, как это мы можем делать с обычными массивами в PHP.
Часто в проектах мы используем коллекции при построении запросов eloquent, и последующего вывода данных. Вследствие чего возникает необходимость проверять – является результат пустым или нет. Именно о методах проверки на пустоту коллекции мы поговорим далее. Сразу стоит отметить, что данные примеры будут работать в Laravel, начиная с 5 версии и выше.

Метод коллекции isEmpty

Проверить коллекцию на пустоту мы можем следующим образом:

$Post = new Post::where("status",1)->get(); 
$Post->isEmpty();

Метод проверяет коллекцию на пустоту, если коллекция пуста – вернёт true, в ином случае – false.

Метод коллекции isNotEmpty

Данный метод противоположен методу isEmpty и проверяет, есть ли данные в коллекции.

$Post = new Post::where("status",1)->get(); 
if($Post->isNotEmpty())
{
  // code
}

Возвращает – true если коллекция не пуста, в ином случае – false.

Метод count для подсчёта коллекции

Посредством метода count мы так же можем проверить количество результатов, и выполнить проверку.

$Post = new Post::where("status",1)->get(); 
if ($Post->count()>0)
{
	// code
}

Результат метода count мы просто сравниваем с нулём. Если есть данные, то соответственно условие выполняется.

Опубликован: 07.01.2023 г.

См. также:

Ограничение параметров в маршрутах Laravel
Необязательные параметры маршрутов в Laravel
Как выбрать записи за определённый период (День, Месяц, Год) в Laravel?
Использование метода leftJoin() для выборки из нескольких таблиц в Laravel
Как просмотреть SQL запрос в Eloquent Laravel?
Как объявить переменную в шаблоне Laravel Blade?
Как получить URL текущей страницы в Laravel?
Как вывести роуты Laravel в отдельный файл?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта