我正在使用symfony2项目,我遇到了以下问题的问题:
SELECT count(a)
FROM CoreBundle:Agency a
WHERE (
SELECT count(c.id)
FROM CoreBundle:Agency a1, CoreBundle:Client c
WHERE a1.id = c.agency AND a1.id = a.id
) LIKE "%1%"
当我想要结果时,Doctrine2会返回此错误:
错误:预期=,<,< =,<>,>,> =,!=,得到'喜欢'
相同的查询(在SQL而不是DQL中调整)可以正常工作。
我试图找到一个解决方案但没有任何结果......
感谢您的帮助!
答案 0 :(得分:0)
该错误告诉我DQL解析器无法理解您的查询。在这种情况下你有几个选择。
您可以扩展DQL解析器,以便Doctrine将您的查询识别为有效。您可以在Doctrine cookbook文章DQL User Defined Functions中阅读。
另一种选择是使用Native Query.
我希望有所帮助。我确定还有其他方法。我建议扩展解析器,以便您可以继续使用查询生成器和新功能。