多対多の接続を持つエンティティがあります。
- エンティティ-メインオブジェクト
- クライアント-「entity_clients」テーブルを介したエンティティとの多対多
.ymlの設定
manyToMany:
clients:
targetEntity: Client
joinTable:
name: entity_clients
joinColumns:
taskpack_id:
referencedColumnName: id
inverseJoinColumns:
client_id:
referencedColumnName: id
Entity要素があり、クエリクライアントをアタッチしたいと思います。選択できるクライアント:
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('TestGroupBundle:Entity')->find($id);
$clients = $entity->getClients();
しかし、この要素を選択する方法を問い合わせる必要があります。私はクエリを書こうとしましたが、このようなものは何もありません:
$qb = $this->em->createQueryBuilder()
->select('c')
->from('TestGroupBundle:Entity', 't')
->join('t.clients', 'c')
->andWhere('t.id = :id')
->setParameter('id', $id);
しかし、エラーが発生します:
[Semantical Error] line 0, col -1 near 'SELECT c FROM': Error: Cannot select entity through identification variables without choosing at least one root entity alias.
誰か助けてもらえますか?