Mysql
 sql >> Database >  >> RDS >> Mysql

come fare in modo che Doctrine_Expression ( dottrina 1.2 ) provi a ottenere gli ultimi 7 giorni

Il motivo per cui non restituisce nulla è perché Doctrine esegue l'escape dell'espressione:l'SQL generato è

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

piuttosto che

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

Potresti forzarlo a funzionare in questo modo:

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

Tuttavia, questa non è l'opzione più sicura, poiché l'input non viene sottoposto a escape e non è una buona pratica...