DATEDIFF无法在Symfony2中运行

时间:2014-09-12 10:02:00

标签: php mysql symfony

我无法在symfony2存储库中使用DATEDIFF和CURRENT_TIME。当我使用年份函数时,同样的问题就在那里。为什么会发生这种情况?

return $this->getEntityManager()
                            ->createQuery("SELECT u FROM AcmeAdminBundle:AppUsers u  WHERE DATEDIFF(CURRENT_TIME(), u.dob) BETWEEN :fromage AND :toage and u.country = :countries ORDER BY u.id DESC")
                            ->setParameter('fromage', $fromage)
                            ->setParameter('toage', $toage)
                            ->setParameter('countries', $countrystr);
如果我没有使用上述功能,

此查询正常工作

1 个答案:

答案 0 :(得分:26)

根据链接(DQL Functions)定义了DATEDIFF并且在Doctrine中有效,只需将其从DATEDIFF(expr1, expr2)更改为DATE_DIFF(expr1, expr2)
此外,如果您的字段是日期时间字段,最好使用CURRENT_DATE()代替NOW()CURRENT_TIME()