私は (Symfony2 で) 小さなフォーラムのようなアプリケーションを書いていますが、次の問題に直面しています:
私は2つのエンティティを持っています:
class ForumThread {
public $fourmThreadId;
public $title;
public $posts; // aggregation field -> ArrayCollection of ForumPost (can't be empty)
}
class ForumPost {
public $content;
public $timeCreated;
public $thread; // aggregation field -> ForumThread (can't be null)
}
各スレッドの最新の投稿のみを含む、すべてのフォーラム スレッドを取得したいと考えています。フォーラムの概要に使用したい:
-------------------------------------
| Thread | Last Post |
-------------------------------------
| Name of Thread #1 | ### |
| Name of Thread #2 | ### |
| ... | ... |
-------------------------------------
ForumPost
単一のフィールド (タイムスタンプなど) だけでなく、完全なエンティティをフェッチしたい。
また、パフォーマンスが高い必要があります。理想的には1〜2のクエリで(INNER JOINを使用して生のSQLで何かを見つけましたが、DQLで、または理想的にはQueryBuilderを使用して、SQLからDQLへの変換の試行が成功しませんでした)。