2012-06-14 2 views
5

선택한 기간을 입력 기간으로 나눈 테이블에서 선택하려고하면 나머지는 없습니다.doctrine2 쿼리 작성기에서 연산자를 추가하는 방법 여기서 문

[Syntax Error] line 0, col 226: Error: Expected =, <, <=, <>, >, >=, !=, got '%' 

이 일반 SQL에서 작동합니다 :

$qb = $em->createQueryBuilder() 
->from('AcmeBlogBundle:Entry', 'e') 
->andWhere(":duration % e.duration = 0") 
->setParameter('duration', $duration); 

는 오류를 반환합니다. Doctrine의 쿼리 빌더를 사용하여이 작업을 수행하는 방법을 아는 사람이 있습니까?

+0

정답입니까? – sensorario

답변

9

기호 %은 DQL 연산자가 아닙니다.

$qb = $em->createQueryBuilder() 
->from('AcmeBlogBundle:Entry', 'e') 
->andWhere("mod(:duration,e.duration) = 0") 
->setParameter('duration', $duration); 

을 또는이 읽기 :이 시도 http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/dql-doctrine-query-language.html 12.5.1 단락.

MOD(a, b) - Return a MOD b. 
+0

제안에 감사하지만 mod는 쿼리에서 작동하지 않았습니다. 설명서를 다시보고 있는데 모듈러스를 나열하지 않으며 where 문 내에서 계산을 나타내지도 않습니다. 나는 계속보고해야하지만 좋은 생각입니다. – Apot

+1

당신은 천재입니다. MOS (a, b)는 매력처럼 작동했습니다. 너무 감사합니다! – Apot

+0

이 답변을 정확하게 입력 할 수 있습니까? – sensorario

관련 문제