我可能忽略了一些非常简单的东西,只是一直盯着它看太多,但我无法让这个 DQL 查询工作。我收到一个异常说明:
Cannot select entity through identification variables without choosing at least one root entity alias.
这是我的查询。用户与组具有多对一关系。请注意,这是单向关系!这对您来说可能毫无意义,但在我们的领域逻辑中却有意义。
SELECT DISTINCT g
FROM Entity\User u
LEFT JOIN u.group g
WHERE u.active = :active
你能告诉我我在这里缺少什么吗?
由于这是搜索错误消息时第一个 Google 匹配项“无法通过...选择实体”,尽管该主题是几个月前发布的,但我还是决定做出回应。
诀窍是使用 JOIN ...WITH...(如 SQL 中的 JOIN...ON...)。
我收到带有以下代码的消息:
SELECT ro, COUNT(ro)
FROM FH\MailerBundle\Entity\Recipient r
JOIN r.selectedOption ro
GROUP BY ro.id
我通过这段代码解决了这个问题:
SELECT ro, COUNT(ro)
FROM FH\MailerBundle\Entity\RecipientOption AS ro
JOIN FH\MailerBundle\Entity\Recipient AS r WITH r.selectedOption = ro
GROUP BY ro.id
我需要为两个实体指定完整的命名空间和类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)