use*_*245 28 mysql doctrine doctrine-query doctrine-orm
如何在doctrine querybuilder中使用表达式mysql NOW()?
Mat*_*ijk 46
在Doctrine2中,您必须使用以下之一而不是NOW().
这个:
CURRENT_TIMESTAMP()
Run Code Online (Sandbox Code Playgroud)
要么:
...
createQuery(...'WHERE x.date = :now')
->setParameter('now', new \DateTime('now'))
...
Run Code Online (Sandbox Code Playgroud)
如果您只想要时间或仅使用其中一个:
CURRENT_TIME()和CURRENT_DATE()
使用查询构建器,它看起来像这样:
$qb
->select('B')
->from('RandomBundle:Banana', 'B')
->where(
$qb->expr()->gt('B.expiresAt', ':now')
)
->setParameter('now', '\'CURRENT_TIMESTAMP()\'');
Run Code Online (Sandbox Code Playgroud)
注:在参数设置额外的引号是需要获得CURRENT_TIMESTAMP()功能的工作.
或者干脆
$qb
->select('B')
->from('RandomBundle:Banana', 'B')
->where(
$qb->expr()->gt('B.expiresAt', 'CURRENT_TIMESTAMP()')
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22620 次 |
| 最近记录: |