How to use the expression mysql NOW() in doctrine querybuilder?
问问题
28621 次
2 回答
51
在 Doctrine2 中,您必须使用以下内容之一而不是NOW()
.
这个:
CURRENT_TIMESTAMP()
或者:
...
createQuery(...'WHERE x.date = :now')
->setParameter('now', new \DateTime('now'))
...
如果您只想要时间或日期,请使用其中之一:
CURRENT_TIME()
和CURRENT_DATE()
于 2012-12-17T01:24:27.883 回答
9
使用查询生成器,它看起来像这样:
$qb
->select('B')
->from('RandomBundle:Banana', 'B')
->where(
$qb->expr()->gt('B.expiresAt', ':now')
)
->setParameter('now', '\'CURRENT_TIMESTAMP()\'');
注意:要使函数正常工作,需要在参数集上加上额外的引号CURRENT_TIMESTAMP()
。
或者干脆
$qb
->select('B')
->from('RandomBundle:Banana', 'B')
->where(
$qb->expr()->gt('B.expiresAt', 'CURRENT_TIMESTAMP()')
);
于 2015-10-19T12:08:24.460 回答