Как добавить операторов в конструктор запросов doctrine2, где оператор

Я пытаюсь выбрать из таблицы, где выбранная продолжительность, деленная на длительность записи, равна нулю.

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

Это возвращает ошибку:

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

Это будет работать в простом SQL. Кто-нибудь знает, как это сделать с помощью построителя запросов Doctrine?

Символ % не является оператором 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.