Tôi có 3 bảng đơn giản: người dùng, vai trò, user_x_role với quan hệ Nhiều-Nhiều. Tôi có 2 thực thể: Người dùng và Vai trò. Thực thể người dùng có thuộc tính $ userRoles với chú thích quan hệ. Trong Controller tôi cần lấy tất cả người dùng với vai trò cụ thể. Nhưng tôi không biết cách sử dụng JOIN trong controller. Mã lỗi hiện tại:findBy với tiêu chí JOIN trong Symfony2
$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));
Nó thows "Undefined index: joinColumns in ...". Nhưng tôi có joinColumns trong thực thể Người dùng:
/**
* @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;