データベースには、テーブルUser(idUser、name ...)とテーブルRole(IdRole、description ..)があります。 これらの2つの間に、リンクテーブルHasRole(idUser、idRole)があります。ManyToMany関係を持つQueryBuilderとエンティティ
Symfonyコマンドラインでエンティティを生成すると、HasRoleエンティティは生成されません。代わりに、私はロール・プロパティ上でこれを持っているユーザエンティティに:
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="MyBundle\Entity\Role", inversedBy="utilisateur")
* @ORM\JoinTable(name="hasrole",
* joinColumns={
* @ORM\JoinColumn(name="UTILISATEUR", referencedColumnName="ID")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="ROLE", referencedColumnName="ID")
* }
*)
私はUserRepositoryに1つのIDの役割のためのすべてのユーザーを返すメソッドを作成したいと思います。
それはすべきは次のように起動します:
$qb = $this->getEntityManager()->createQueryBuilder()
->select('utilisateur')
->from('ACCUEILBundle:User', 'utilisateur');
uが助けることができますか?
のTy