Doctrine Symfony2/条令DQL查询异常

Doctrine Symfony2/条令DQL查询异常,doctrine,symfony,dql,Doctrine,Symfony,Dql,所以我试图对一个包含两个外键的表进行查询。此表基本上将特定用户ID设置为应用程序中特定区域ID的“管理员”。我的DQL如下: 'SELECT z, zone FROM MLBPBeerBundle:TableZoneAdmins z JOIN z.zoneAdminsZID WHERE z.zoneAdminsPID = '.$userID .'AND zone.zoneId = z.zoneAdminsZID' 我得到这个错误: 在呈现第10行“MLBPBeerBundle:Profile:

所以我试图对一个包含两个外键的表进行查询。此表基本上将特定用户ID设置为应用程序中特定区域ID的“管理员”。我的DQL如下:

'SELECT z, zone FROM MLBPBeerBundle:TableZoneAdmins z JOIN z.zoneAdminsZID WHERE z.zoneAdminsPID = '.$userID .'AND zone.zoneId = z.zoneAdminsZID'
我得到这个错误:

在呈现第10行“MLBPBeerBundle:Profile:index.html.twig”中的模板时引发了异常(“语法错误]第0行,第80列:错误:字符串的预期结尾,得到“z”)

查看查询“问题中的部分”第0行,第80列是z.zoneAdminsPID的开头,这意味着至少在我对错误的解释中,它希望字符串正好在WHERE之后结束,这是没有意义的

更令人困惑的是,我已经成功地使用了类似的查询,从我们的games表中获取了一个球队名称,该表包含球队id的外键:

'SELECT g, team1 FROM MLBPBeerBundle:TableGame g JOIN g.gameWinnertid WHERE g.gameZoneid = '.$zoneId .'AND team1.id = g.gameWinnertid'

感谢您提供的任何帮助,这让我很困惑,我真的看不出两个查询在操作上有什么区别,除了它们获取不同的数据这一事实

我能够通过不包括连接来解决这一问题,Symfony比我想象的更自动化

SELECT z FROM MLBPBeerBundle:TableZoneAdmins z WHERE z.zoneAdminsPID = '.$userID
从这里开始,zoneAdminsZID是一个合适的区域实体,现在我相信这是在懒洋洋地加载这个实体,也就是在我“解除隔离”ZID之前不会触发查询,但对我们来说,这很好