如何使用Doctrine 2将日期与当前日期进行比较?

Adi*_*Adi 18 php symfony doctrine-orm

我有一个存储"失效日期"的数据库.现在我希望当前日期与存储的到期日期进行比较.如果当前日期在到期日之前,则数据应该像往常一样显示,但如果数据已过期,我希望将其排除.

我试过了:

$query = $em->createQuery('SELECT d FROM test d WHERE d.expDate > :date')
    ->setParameters('date', 'now()');
Run Code Online (Sandbox Code Playgroud)

如果有人理解我的问题,帮助会很酷,或者提示.

fai*_*182 31

还有另一种方式:

$query = $em->createQuery('SELECT d FROM test d WHERE d.expDate > :today')
    ->setParameter('today', new \DateTime())->
Run Code Online (Sandbox Code Playgroud)


Cro*_*zin 15

现在,您将expDate列与文本 "now()"进行比较,而不是与函数的结果进行比较now().

$em->createQuery('SELECT d FROM test d WHERE d.expDate > CURRENT_DATE()');
Run Code Online (Sandbox Code Playgroud)

  • @Adi:我的错误。该函数的名称是`CURRENT_DATE()`,而不是`NOW()`。 (2认同)