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

Метод whereRaw

Метод whereRaw применяется к запросу Eloquent или Query Builder и возвращает тот же запрос, дополненный сырым SQL-условием. Первым параметром передаётся строка с SQL-выражением, вторым - массив связываемых значений для защиты от SQL-инъекций. Этот метод полезен, когда необходимо использовать сложные условия, которые невозможно выразить стандартными методами.

Синтаксис

<?php Model::whereRaw($sql, $bindings); ?>

Пример

Давайте выберем статьи, у которых количество просмотров больше чем лайков:

<?php use AppModelsArticle; $articles = Article::whereRaw('views > likes')->get(); foreach ($articles as $article) { echo $article->title; } ?>

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

["article 1", "article 3", "article 5"]

Пример

Давайте отфильтруем статьи, у которых текст содержит определённое слово, используя SQL-функцию:

<?php use AppModelsArticle; $articles = Article::whereRaw('LOWER(text) LIKE ?', ['%laravel%'])->get(); foreach ($articles as $article) { echo $article->title; } ?>

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

["article 2", "article 4"]

Пример

Давайте выберем записи, созданные за последние 7 дней, используя SQL-функцию DATE_SUB:

<?php use AppModelsArticle; $articles = Article::whereRaw('created_at > DATE_SUB(NOW(), INTERVAL 7 DAY)')->get(); foreach ($articles as $article) { echo $article->title; } ?>

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

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

Пример

Давайте выполним запрос с несколькими связываемыми параметрами для безопасной фильтрации:

<?php use AppModelsArticle; $minViews = 10; $maxViews = 50; $articles = Article::whereRaw('views BETWEEN ? AND ?', [$minViews, $maxViews])->get(); foreach ($articles as $article) { echo $article->title; } ?>

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

["article 3", "article 4"]

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

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