-1

多対多の接続を持つエンティティがあります。

  • エンティティ-メインオブジェクト
  • クライアント-「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.

誰か助けてもらえますか?

4

1 に答える 1

1

選択に最初のエンティティを追加する必要があると思います。

->select('t, c')
于 2013-03-26T16:07:28.513 に答える