我正在尝试制作一个DQL查询,它一直给我这个错误:
[Semantical Error] line 0, col 68 near 'r': Error: Class Custom\SystemBundle\Entity\Element has no association named CustomAuthBundle:Role
这些实体的代码如下所示:
作用:
/**
* @ORM\ManyToMany(targetEntity="Custom\SystemBundle\Entity\Element", mappedBy="role_id")
*/
private $element_id;
元素:
/**
* @ORM\ManyToMany(targetEntity="Custom\AuthBundle\Entity\Role", inversedBy="element_id")
*/
private $role_id;
以下是查询:
php app/console doctrine:query:dql 'SELECT e FROM CustomSystemBundle:Element e JOIN e.CustomAuthBundle:Role r'
答案 0 :(得分:2)
role_id
或element_id
。对象将存储在那里,而不是它们的标识符。所以abc_id
→abc
。关联由属性定义,而不是类名:
[…] JOIN e.role r […]