データベースから十分なベッドがあるホテルを取得しようとしています (ユーザーはゲスト数パラメーターを指定します)。クエリは次のようになります。
SELECT h.* FROM Hotel AS h
WHERE
(SELECT SUM(r.guestCount * r.count)
FROM Room AS r
WHERE r.hotel_id = h.id) >= $questCount
上記のクエリには、where 句にサブクエリが含まれています。doctrine の QueryBuilder ドキュメントを読みましたが、QB でサブクエリを作成する方法がわかりません。
私が今持っているのは次のとおりです。
$qb = $this->getDoctrine()->getEntityManager()->createQueryBuilder()
->select('h')
->from('AAAHotelsBundle:Hotel', 'h')
->where(.........???...........);
次に何をすべきか?
もちろん、私は問題を単純化しました (クエリ自体ははるかに複雑です)。Symfony2 を使用しています。