У меня есть этот код в Laravel:
DB::table('items')
->whereRaw("? = 1", ['active'])
->get();
В моей таблице базы данных у меня есть столбец с именем active
, и я хочу выполнить запрос:
SELECT *
FROM items
WHERE active=1
Мой код дает сбой, потому что запрос передает мой параметр 'active'
как строку вместо имени столбца в синтаксисе SQL (что является ожидаемым поведением). Итак, вместо вышеперечисленного я получаю что-то вроде этого:
SELECT *
FROM items
WHERE "active"=1
Есть идеи, как это решить?
PS: Я попробовал функцию MySQL TRIM, но безуспешно (возможно, я сделал это неправильно).
DB::table('items')->where('active',1)
? - person Makdous   schedule 29.04.2020active
этоmonday
. У меня есть все дни в моей базе данных со значением 1 или 0. Итак, я хочу иметь возможность сказать, что если сегодня понедельник, аmonday
равно 1 в моей таблице, выберите этот элемент. По-моему, я смогу использовать, например, Carbon, получить название сегодняшнего дня и динамически передать его в свой запрос. - person padawanTony   schedule 29.04.2020DB::table('items')->where($day,1)
? - person Arthur Samarcos   schedule 29.04.2020whereRaw
с методомwhere
(поскольку у меня больше кода SQL вwhereRaw
), но мне было интересно, смогу ли я сделать это вwhereRaw
- person padawanTony   schedule 29.04.2020