我正在尝试从Symfony / Doctrine单元中选择最后2小时的行。在普通的MySQL中,这将是这样做的:
SELECT * FROM Posts WHERE
{日期{1}}
但Doctrine不支持> SUBDATE( CURRENT_TIMESTAMP, INTERVAL 2 HOUR)
和SUBDATE
等MySQL关键字。在Doctrine文档中,仅给出了包含日期和月份的间隔的替代方案。但我需要几个小时。我该怎么做?
答案 0 :(得分:22)
使用php DateTime
对象 - doctrine会为你处理这个
$date = new \DateTime();
$date->modify('-2 hour');
$this
->createQueryBuilder('t')
->andWhere('t.date > :date')
->setParameter(':date', $date)
->getQuery()
->execute();