5
我有3個簡單的表:user,role,user_x_role和Many-to-Many關係。我有兩個實體:用戶和角色。用戶實體具有帶關係註釋的$ userRoles屬性。在控制器中,我需要獲取具有特定角色的所有用戶。但我不知道如何在控制器中使用JOIN。當前錯誤代碼:在Symfony2中有JOIN條件的findBy
$role = $this->getDoctrine()->getRepository('TestBackEndBundle:Role');
$roles = $role->findBy(array('name' => 'ROLE_PARTNER'));
$user = $this->getDoctrine()->getRepository('TestBackEndBundle:User');
$partners = $user->findBy(array('userRoles' => $roles));
It thows「Undefined index:joinColumns in ...」。但是我對用戶的實體joinColumns:
/**
* @ORM\ManyToMany(targetEntity="Role")
* @ORM\JoinTable(name="user_x_role",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id", onDelete="CASCADE", onUpdate="CASCADE")},
* inverseJoinColumns={@ORM\JoinColumn(name="role_id", referencedColumnName="id", onDelete="CASCADE", onUpdate="CASCADE")}
*)
* @var ArrayCollection
*/
protected $userRoles;