教义多对多选择

I have two entities, Group and User:

class Group
{
    /**
 * @ORM\ManyToMany(targetEntity="Group", inversedBy="groups")
 * @ORM\JoinTable(name="admin_group_user",
 *      joinColumns={@ORM\JoinColumn(name="fk_group", referencedColumnName="id")},
 *      inverseJoinColumns={@ORM\JoinColumn(name="fk_user", referencedColumnName="id")}
 *      )
 */
protected $users;
...
}

class User
{
/**
 * @ORM\ManyToMany(targetEntity="Group", inversedBy="users")
 * @ORM\JoinTable(name="admin_group_user",
 *      joinColumns={@ORM\JoinColumn(name="fk_user", referencedColumnName="id")},
 *      inverseJoinColumns={@ORM\JoinColumn(name="fk_group", referencedColumnName="id")}
 *      )
 */
protected $groups;
 ...
 }

I would like to get result like Group 1 has user A, user B, user C Group 2 has user D, user E, user F.

Generally something like

SELECT admin_group.id AS group_id, admin_group.name, agu.fk_user, fu.username
FROM admin_group
 JOIN admin_group_user agu ON (admin_group.id = agu.fk_group)
 JOIN front_user fu ON (agu.fk_user = fu.id);

Does anyone know how to achieve this with Doctrine?

Following documentation about many-to-many bidirectional mapping on doctrine helps you solve your problem:

http://docs.doctrine-project.org/en/latest/reference/association-mapping.html#many-to-many-bidirectional