Alasan mengapa itu tidak mengembalikan apa pun adalah karena Doctrine lolos dari ekspresi - SQL yang dihasilkan adalah
WHERE (date > 'DATE_SUB(CURDATE(), INTERVAL 7 DAY)')
daripada
WHERE (l.action_time > DATE_SUB(CURDATE(), INTERVAL 7 DAY))
Anda bisa memaksanya bekerja seperti ini:
$date = new Doctrine_Expression('DATE_SUB(CURDATE() , INTERVAL 7 DAY)');
$q->where('date > ' . $date);
Namun, ini bukan opsi teraman, karena input tidak lolos dan bukan praktik yang baik...