sql >> Database >  >> RDS >> Mysql

hoe Doctrine_Expression (doctrine 1.2) de laatste 7 dagen proberen te krijgen

De reden waarom het niets teruggeeft is omdat Doctrine aan de uitdrukking ontsnapt - de gegenereerde SQL is

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

in plaats van

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

Je zou het kunnen forceren om als volgt te werken:

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

Dit is echter niet de veiligste optie, omdat de invoer niet ontsnapt en geen goede gewoonte is...




  1. Wat is het alternatief van de LIMIT-clausule in JPQL?

  2. Groepeer opeenvolgende rijen met dezelfde waarde met tijdspannes

  3. SqlAlchemy TIMESTAMP 'bij update' extra

  4. Hoe te regexen in een MySQL-query