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

Метод toRawSql

Метод toRawSql применяется к построителю запросов Eloquent или Query Builder и возвращает строку с полным SQL-запросом, где все плейсхолдеры заменены на реальные значения. В отличие от метода toSql, который возвращает запрос с параметрами в виде знаков вопроса, toRawSql подставляет конкретные значения, что удобно для отладки и логирования. Метод не принимает никаких параметров и возвращает строку.

Синтаксис

<?php $query = Model::where('column', 'value'); $rawSql = $query->toRawSql(); ?>

Пример

Давайте получим сырой SQL-запрос для выборки статей со статусом 'published':

<?php use AppModelsArticle; $query = Article::where('status', 'published'); $res = $query->toRawSql(); echo $res; ?>

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

"select * from `articles` where `status` = 'published'"

Пример

Давайте получим сырой SQL-запрос для выборки статей с id больше 10:

<?php use AppModelsArticle; $query = Article::where('id', '>', 10); $res = $query->toRawSql(); echo $res; ?>

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

"select * from `articles` where `id` > 10"

Пример

Давайте получим сырой SQL-запрос для сложного запроса с несколькими условиями и сортировкой:

<?php use AppModelsArticle; $query = Article::where('status', 'published') ->where('views', '>', 100) ->orderBy('created_at', 'desc') ->limit(5); $res = $query->toRawSql(); echo $res; ?>

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

"select * from `articles` where `status` = 'published' and `views` > 100 order by `created_at` desc limit 5"

Пример

Давайте получим сырой SQL-запрос с использованием метода whereIn:

<?php use AppModelsArticle; $query = Article::whereIn('category_id', [1, 2, 3]); $res = $query->toRawSql(); echo $res; ?>

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

"select * from `articles` where `category_id` in (1, 2, 3)"

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

  • метод toSql,
    который возвращает SQL-запрос с плейсхолдерами
  • метод dump,
    который выводит информацию о запросе и продолжает выполнение
  • метод dd,
    который выводит информацию о запросе и останавливает выполнение
  • метод explain,
    который возвращает план выполнения запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить