Laravel. Как вывести запрос со значениями (query with bindings)?

Главная  >>  Backend  >>  Laravel. Как вывести запрос со значениями (query with bindings)?

Laravel предлагает нам удобный метод toSql() для отображения подготовленного запроса. Но он выводит знаки вопроса вместо значений. О том, как вывести итоговый подготовленный запрос речь в этой статье.

На просторах интернета (на авторство не претендую) мною был найден достаточно простой вариант, который я обернул в метод и повсеместно использую в своих проектах.

Метод выглядит так:

Этот метод принимает экземпляр Builder и возвращает подготовленный запрос.

Пример вызова ниже (допустим, что метод лежит в условном классе EloquentHelper):

Для наглядного сравнения выводим и обычный toSql() и наш новый метод.

Итак, приведенный выше пример вернет нам примерно такую строку-запрос toSql():

И такую строку, как результат работы нашего метода.

Очевидно, что второй вариант существенно упрощает жизнь при дебаге.

надеюсь статья была Вам полезной. Удачи!