Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie man Doctrine_Expression ( Doktrin 1.2 ) dazu bringt, zu versuchen, die letzten 7 Tage zu erreichen

Der Grund, warum es nichts zurückgibt, ist, dass Doctrine den Ausdruck maskiert – das generierte SQL ist

WHERE (date > 'DATE_SUB(CURDATE(), INTERVAL 7 DAY)')

statt

WHERE (l.action_time > DATE_SUB(CURDATE(), INTERVAL 7 DAY))

Sie könnten es so erzwingen:

$date = new Doctrine_Expression('DATE_SUB(CURDATE() , INTERVAL 7 DAY)');
$q->where('date > ' . $date);

Dies ist jedoch nicht die sicherste Option, da die Eingabe nicht maskiert wird und keine gute Praxis ist ...