【发布时间】:2015-08-26 19:54:36
【问题描述】:
我在使用“不正确”子句检查布尔字段时遇到问题 我收到此错误:
("[Syntax Error] line 0, col 510: Error: Expected =, , >, >=, !=, got 'IS'")
查询是用 dql 构建的。所以在代码中我像这样添加了它
$dql .= " AND p.archived IS NOT TRUE ";
执行的查询:
SELECT COUNT(p.id)
FROM Sandbox\WebsiteBundle\Entity\Pages\OfferPage p
INNER JOIN Kunstmaan\NodeBundle\Entity\NodeVersion nv WITH nv.refId = p.id
INNER JOIN Kunstmaan\NodeBundle\Entity\NodeTranslation nt WITH nt.publicNodeVersion = nv.id and nt.id = nv.nodeTranslation
INNER JOIN Kunstmaan\NodeBundle\Entity\Node n WITH n.id = nt.node WHERE n.deleted = 0
AND n.hiddenFromNav = 0
AND n.refEntityName = 'Sandbox\WebsiteBundle\Entity\Pages\OfferPage'
AND nt.online = 1 AND nt.lang = :lang AND p.archived IS NOT TRUE AND p.expirationDate >= :date ORDER BY p.price ASC
【问题讨论】:
-
试试最简单的:
AND p.archived = 0 AND...
标签: mysql sql symfony doctrine-orm dql