【发布时间】:2014-11-06 11:30:57
【问题描述】:
我无法在 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);
如果我没有使用上述功能,这个查询可以正常工作
【问题讨论】:
-
如果将结果保存到变量中,
var_dump()会说什么? -
似乎不是 Symfony(或 Doctrine)的问题。可能问题出在MySql中。检查您的 MySql 版本。 DATEDIFF() 函数在 v4.1.1 上启动
-
您究竟是如何无法使用它的?是否抛出异常?还是返回的结果与您的预期有所不同?请说明这一点,否则问题很难回答。