Я пытаюсь сделать этот запрос с доктриной 1.2:
$q->where('date > ?', new Doctrine_Expression('DATE_SUB(CURDATE() , INTERVAL 7 DAY)'));
но это не возвращает мне никаких результатов.
Есть идеи ?
благодаря
Причина, по которой он ничего не возвращает, заключается в том, что Doctrine избегает выражения – сгенерированный SQL является
WHERE (date > 'DATE_SUB(CURDATE(), INTERVAL 7 DAY)')
скорее, чем
WHERE (l.action_time > DATE_SUB(CURDATE(), INTERVAL 7 DAY))
Вы можете заставить его работать так:
$date = new Doctrine_Expression('DATE_SUB(CURDATE() , INTERVAL 7 DAY)'); $q->where('date > ' . $date);
Однако это не самый безопасный вариант, поскольку вход не ускользает и не является хорошей практикой …