-1

我想在存储库中使用 symfony2 查询生成器来创建以下查询:

SELECT c.name,
       (
         SELECT COUNT(1)
         FROM product
         WHERE product.cat_id = c.id
       ) products
FROM category c
ORDER BY category.id ASC

我可以为此目的使用查询构建器吗?如何构建查询构建器?谢谢

4

1 回答 1

1

我认为这里不需要子查询。它可以简单地用countand来实现group by

假设您已经定义了正确的关系,Product并且Catergory此 DQL 查询应该可以工作。

将此包含在您的类别存储库中

$categories = $this->createQueryBuilder('c')
                    ->select('c.name,count(p.id)')
                    ->leftJoin('c.products','p')
                    ->groupBy('c.id')
                    ->getQuery()
                    ->getResult();
于 2013-10-03T09:19:54.980 回答