Doctrine (Symfony2.1) に問題があります。ジョインフェッチサブエンティティ (OneToMany リレーション) による遅延読み込みを防止したいのですが、それらのサブエンティティに対して 1 つの結果しか得られませんでした。
例えば:
public function getSingleProjectQuery($project){
$query = $this->createQueryBuilder('p')
->select(array("p", "fb"))
->where('p.id = :project_id')->setParameter('project_id', $project)
->leftJoin('p.feedbacks', 'fb')
->groupBy('p.id')
->getQuery();
return $query;
}
この例では、Doctrine は「プロジェクト」オブジェクトと 1 つの「フィードバック」オブジェクトを返します (ただし、複数のフィードバックがあります...)。選択をこれに置き換えると、->select(array("p"))
すべての「フィードバック」オブジェクトを取得しましたが、遅延ロードされます(多くのクエリ)。
http://docs.doctrine-project.org/en/latest/reference/dql-doctrine-query-language.html#joinsを参照してください