2014-09-12 2 views
9

symfony2 저장소에서 DATEDIFF 및 CURRENT_TIME을 사용할 수 없습니다. 내가 년 함수를 사용하는 동안 같은 문제가 발생합니다. 왜 이런 일이 일어나고 있습니까?DATEDIFF가 Symfony2에서 작동하지 않습니다.

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); 

내가 링크 (DQL Functions)을 DATEDIFF이 정의에 위의 기능

+0

으로 사용하는 것이 좋습니다 날짜 시간 필드, 무엇을 '위해 var_dump() 인 경우
또한,'말할 것? – Yang

+0

Symfony (또는 Doctrine) 문제가 아닌 것 같습니다. 문제가 MySQL에있을 수 있습니다. MySql 버전을 확인하십시오. DATEDIFF() 함수가 v4.1.1에서 시작되었습니다. –

+0

정확히 어떻게 사용할 수 없습니까? 예외가 발생 했습니까? 또는 반환 된 결과가 예상 한 것과 어떻게 다릅니 까? 이것을 지정하십시오. 그렇지 않으면 질문에 대답하기가 어렵습니다. – kix

답변

22

자료를 사용하고 당신이 DATEDIFF(expr1, expr2)에서 DATE_DIFF(expr1, expr2)로 변경해야 교리에서 유효하지 않은 경우 제대로 작동이 쿼리. 당신의 분야는 당신이 변수에 결과를 저장하는 경우 CURRENT_DATE() 대신 NOW() 또는 CURRENT_TIME()

+0

+1 나를 고쳐 주셔서 감사합니다. 아직 기본적으로 지원되지 않습니다 :-) –

+0

감사합니다 .-) – Javad

관련 문제