sql >> Base de Datos >  >> RDS >> Mysql

cómo hacer que Doctrine_Expression (doctrine 1.2) intente obtener los últimos 7 días

La razón por la que no devuelve nada es porque Doctrine escapa de la expresión:el SQL generado es

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

en lugar de

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

Podría forzarlo a que funcione así:

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

Sin embargo, esta no es la opción más segura, ya que la entrada no se escapa y no es una buena práctica...