我想在存储库中使用symfony2查询构建器来创建以下查询:
SELECT c.name,
(
SELECT COUNT(1)
FROM product
WHERE product.cat_id = c.id
) products
FROM category c
ORDER BY category.id ASC
我是否可以将查询构建器用于此目的,以及如何构建查询构建器? 感谢
答案 0 :(得分:1)
我认为这里不需要子查询。只需使用count
和group by
,
假设您已在Product
和Catergory
之间定义了正确的关系,则此DQL查询应该有效。
将其包含在您的类别存储库中
$categories = $this->createQueryBuilder('c')
->select('c.name,count(p.id)')
->leftJoin('c.products','p')
->groupBy('c.id')
->getQuery()
->getResult();