Имею SQL-базу MariaDB Ver 15.1 Distrib 10.1.37-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2. Есть таблица с полями: - is_use (тип boolean) - created_at (стандартное поле timestamp) Пытаюсь найти в таблице записи, у которых поле is_use=false и время создания более 2-х часов от текущего момента. Делаю такой запрос: Код (Text): $result=Article::where('is_use', false)->where('created_at', '<', '(NOW() - INTERVAL 2 HOUR)')->get(); info("Garbage collector for Article is run: ".$result." count ".count($result)); В результате записи не находятся: Код (Text): Garbage collector for Article is run: [] count 0 Хотя такие записи однозначно есть. Информация о сконструированном SQL-запросе следующая: Код (Text): {"query":"select * from `articles` where `is_use` = ? and `created_at` < ?","bindings":[false,"(NOW() - INTERVAL 2 HOUR)"],"time":0.95} И по-ходу дела запрос получается такой: Код (Text): select * from `articles` where `is_use` = false and `created_at` < "(NOW() - INTERVAL 2 HOUR)"; То есть, имеются кавычки вокруг выражения времени, и оно воспринимается как строка. Если кавычки убрать, то запрос нормально выполняется. Но как заставить Eloquent конструировать запрос с выражением времени так, чтобы это выражение не помещалось в кавычки?
@xintrea Вот прям конкретно для этого - whereRaw. Но посмотри все примеры raw. Чтобы код на PHP был с красивой подсветкой, оформляй его в ббкоды [php] ... [/php]