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

Метод exists

Метод exists применяется к запросу Eloquent или Query Builder и проверяет, существуют ли записи, удовлетворяющие условиям запроса. Метод возвращает логическое значение true, если хотя бы одна запись найдена, и false в противном случае. Это более эффективная альтернатива использованию count для проверки существования записей, так как вместо полной загрузки данных выполняется оптимизированный запрос.

Метод exists может вызываться как на экземпляре построителя запросов, так и на модели Eloquent. Он особенно полезен в условных конструкциях, например, для проверки наличия связанных данных перед выполнением определённых операций.

Синтаксис

<?php $res = Model::where('column', 'value')->exists(); ?>

Пример

Проверим, существует ли в таблице articles статья со статусом 'published':

<?php use App\Models\Article; $res = Article::where('status', 'published')->exists(); if ($res) { echo "Published articles exist"; } else { echo "No published articles"; } ?>

Результат выполнения кода:

"Published articles exist"

Пример

Проверим существование записи с определённым идентификатором:

<?php use App\Models\Article; $res = Article::where('id', 5)->exists(); if ($res) { echo "Article with id 5 exists"; } else { echo "Article with id 5 not found"; } ?>

Результат выполнения кода:

"Article with id 5 exists"

Пример

Использование метода exists в комбинации с другими методами фильтрации для проверки наличия записей, созданных в определённый период:

<?php use App\Models\Article; $res = Article::where('status', 'published') ->whereDate('created_at', '2026-01-01') ->exists(); if ($res) { echo "Articles published on Jan 1, 2026 exist"; } else { echo "No articles published on Jan 1, 2026"; } ?>

Результат выполнения кода:

"No articles published on Jan 1, 2026"

Пример

Проверка существования записей при помощи Query Builder:

<?php use Illuminate\Support\Facades\DB; $res = DB::table('articles') ->where('status', 'draft') ->exists(); if ($res) { echo "Draft articles found"; } else { echo "No draft articles"; } ?>

Результат выполнения кода:

"No draft articles"

Смотрите также

  • метод doesntExist,
    который проверяет отсутствие записей
  • метод count,
    который возвращает количество записей
  • метод first,
    который возвращает первую запись из выборки
  • метод where,
    который добавляет условие фильтрации
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить