我正在尝试从我的数据库中获取有足够床位的酒店(用户指定客人计数参数)。查询应如下所示:
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 子句中包含子查询。我已经阅读了学说的 QueryBuilder 文档,但我不知道如何在 QB 中进行子查询。
我现在只有:
$qb = $this->getDoctrine()->getEntityManager()->createQueryBuilder()
->select('h')
->from('AAAHotelsBundle:Hotel', 'h')
->where(.........???...........);
任何想法下一步该怎么做?
当然我简化了问题(查询本身要复杂得多)。我使用 Symfony2。