アルバム、コンテンツ、ファイル、コメントのエンティティがあります。コメントとファイルはコンテンツの関係であり、コンテンツはアルバムに関連しています。
単一のコンテンツエンティティからすべてのリレーション(ファイルエンティティとコメントエンティティ)を取得したい(他のコンテンツにはロードしない)。データベースへのクエリは2つまでにする必要があります。
単一のクエリを使用してリレーションを取得し、エンティティオブジェクトにデータを入力する良い方法は何ですか?
例えば
$album = $em->createQuery('SELECT a,c FROM Album JOIN a.contents c WHERE a.id = :id')->getOneOrNullResult();
foreach ($album->getContents() as $content) {
if ($content->getId() == $id) {
// Load all (relevant) relations for this content in a single query with joins
$em->MAGIC($content);
}
}