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

Метод where

Метод where применяется к запросу Eloquent или Query Builder и возвращает тот же запрос, дополненный условием выборки. Первым параметром передаётся имя колонки, вторым - оператор сравнения, третьим - значение. Если оператор не указан, используется равенство.

Синтаксис

<?php Model::where($column, $operator, $value); ?>

Параметры метода:

  • $column - имя колонки в таблице базы данных
  • $operator - оператор сравнения (например, '=', '>', '<', '>=', '<=', '<>', 'like')
  • $value - значение для сравнения

Пример с оператором равенства

Давайте отфильтруем статьи, у которых поле 'status' равно 'published':

<?php use App\Models\Article; $res = Article::where('status', 'published')->get(); foreach ($res as $article) { echo $article->title; } ?>

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

["article 1", "article 2", "article 3"]

Пример с оператором сравнения

Отфильтруем статьи с id больше 5:

<?php use App\Models\Article; $res = Article::where('id', '>', 5)->get(); foreach ($res as $article) { echo $article->title; } ?>

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

["article 6", "article 7", "article 8"]

Пример с оператором LIKE

Найдём статьи, заголовок которых содержит слово 'php':

<?php use App\Models\Article; $res = Article::where('title', 'like', '%php%')->get(); foreach ($res as $article) { echo $article->title; } ?>

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

["Learn PHP", "PHP basics", "Advanced PHP"]

Пример с несколькими условиями

Метод where можно вызывать несколько раз, условия будут объединены через AND:

<?php use App\Models\Article; $res = Article::where('status', 'published') ->where('views', '>', 100) ->get(); foreach ($res as $article) { echo $article->title; } ?>

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

["Popular article 1", "Popular article 2"]

Пример с массивом условий

Можно передать массив условий в метод where:

<?php use App\Models\Article; $res = Article::where([ ['status', '=', 'published'], ['category_id', '=', 1], ['created_at', '>', '2024-01-01'] ])->get(); foreach ($res as $article) { echo $article->title; } ?>

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

  • метод orWhere,
    который добавляет условие через ИЛИ
  • метод whereIn,
    который фильтрует по списку значений
  • метод whereNull,
    который выбирает записи с пустым полем
  • метод get,
    который выполняет запрос и возвращает коллекцию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить