Apo*_*han 6 php doctrine symfony doctrine-orm
我试图从一个表中选择,其中所选的持续时间除以输入持续时间等于没有余数.
$qb = $em->createQueryBuilder()
->from('AcmeBlogBundle:Entry', 'e')
->andWhere(":duration % e.duration = 0")
->setParameter('duration', $duration);
Run Code Online (Sandbox Code Playgroud)
这会返回错误:
[Syntax Error] line 0, col 226: Error: Expected =, <, <=, <>, >, >=, !=, got '%'
Run Code Online (Sandbox Code Playgroud)
这将在纯SQL中工作.有人知道如何使用Doctrine的查询构建器执行此操作吗?
sen*_*rio 11
该符号%不是DQL运算符.试试这个:
$qb = $em->createQueryBuilder()
->from('AcmeBlogBundle:Entry', 'e')
->andWhere("mod(:duration,e.duration) = 0")
->setParameter('duration', $duration);
Run Code Online (Sandbox Code Playgroud)
或者阅读: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.
Run Code Online (Sandbox Code Playgroud)