astralo
@astralo
для "спасибо" есть кнопка [Нравится]

Что не верно в коде запроса Laravel?

Привет.
Есть код
$code = 'TEXT'
DB::table('coupons')
->where('code', $code)
->select('coupons.active',  'coupons.created_at')
->toSql();

в результат получаю строку запроса SQL вида
select `coupons`.`active`, `coupons`.`created_at` from `coupons` where `code` = ?

почему то вместо переменной не подставляется значение оной.
Может я что-то делаю не так?
Ткните носом в ошибку пожалуйста)
  • Вопрос задан
  • 191 просмотр
Решения вопроса 3
Denormalization
@Denormalization
Всё правильно. Там используется PDO с плейсхолдерами (подготовленные запросы).
Вместо ? подставится TEXT когда запрос уйдет в Mysql.
Ответ написан
Комментировать
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
Вот пример системы логирования запросов:
www.techigniter.in/tutorials/query-logging-in-laravel-5
Я сам ей пользуюсь, довольно удобно.
Ответ написан
Комментировать
AmdY
@AmdY
PHP и прочие вебштучки
Подготовленные запросы - это два запроса, первый PREPARE готовит дданные, второй EXECUTE шлёт сами данные, тем самым получаете защиту на уровне самой базы данных, а не шаманства php функций и лучший кастинг типов https://dev.mysql.com/doc/refman/5.0/en/sql-syntax...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
JhaoDa
@JhaoDa
LaravelRUS Team
Потому что оно подставится mysql-сервером.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы