2012-06-14 27 views
5

Belirtilen sürenin bölünme süresine bölünmesiyle kalan sürenin geri kalanında bir tablo seçmeye çalışıyorum.Doctrine2 sorgu oluşturucuda işleçler nasıl eklenir?

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

Bu düz SQL çalışacak:

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

Bu

hata verir. Bunu Doktrinin sorgu oluşturucusuyla nasıl yapılacağını bilen var mı?

+0

Doğru cevap mı? – sensorario

cevap

9

% sembolü bir DQL işleci değildir.

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

Ya da bu okuma: Bu deneyin http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/dql-doctrine-query-language.html 12.5.1 paragraf.

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

Öneri için teşekkürler, ancak mod sorguda çalışmadı. Dokümantasyona tekrar bakıyorum ve modül listelenmiyor ve hatta burada yer alan ifadeler içinde herhangi bir hesaplama yapılmıyor. Bakmaya devam etmeliyim, ama iyi fikir. – Apot

+1

Sen bir dahisin. MOS (a, b) bir cazibe gibi çalıştı. Çok teşekkür ederim! – Apot

+0

Bu yanıtı doğru olarak imzalayabilir misiniz? – sensorario

İlgili konular