Метод isNotEmpty
Метод isNotEmpty применяется к объекту коллекции Laravel и проверяет, содержит ли она хотя бы один элемент. Метод возвращает true, если коллекция имеет один или более элементов, и false, если коллекция пуста. Это удобный способ проверить наличие данных перед их обработкой, чтобы избежать ошибок при итерации по пустой коллекции.
Синтаксис
<?php
$collection->isNotEmpty();
?>
Пример
Давайте создадим пустую коллекцию и проверим её с помощью метода isNotEmpty:
<?php
use Illuminate\Support\Collection;
$collection = collect([]);
$res = $collection->isNotEmpty();
var_dump($res);
?>
Результат выполнения кода:
"bool(false)"
Пример
Создадим коллекцию с элементами и проверим её методом isNotEmpty:
<?php
use Illuminate\Support\Collection;
$collection = collect([1, 2, 3, 4, 5]);
$res = $collection->isNotEmpty();
var_dump($res);
?>
Результат выполнения кода:
"bool(true)"
Пример
Давайте используем метод isNotEmpty в условии для обработки данных из базы данных:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
use IlluminateHttpRequest;
class ArticleController extends Controller
{
public function index()
{
$articles = Article::where('status', 'published')->get();
if ($articles->isNotEmpty()) {
foreach ($articles as $article) {
echo $article->title . "\n";
}
} else {
echo "No articles found";
}
}
}
?>
Результат выполнения кода:
"Article 1"
"Article 2"
"Article 3"
Пример
Покажем разницу между isNotEmpty и isEmpty на одном примере:
<?php
use Illuminate\Support\Collection;
$empty = collect([]);
$nonEmpty = collect(['a', 'b', 'c']);
echo "Empty collection: " . ($empty->isNotEmpty() ? 'true' : 'false') . "\n";
echo "Non-empty collection: " . ($nonEmpty->isNotEmpty() ? 'true' : 'false') . "\n";
?>
Результат выполнения кода:
"Empty collection: false"
"Non-empty collection: true"