【发布时间】:2015-06-30 06:24:13
【问题描述】:
我正在使用 Doctrine 进行 Symfony 项目
所以我有 3 个实体:
- 项目
- 活动
- 类别
一个项目有几个活动,一个活动也有几个类别
我正在尝试获取按项目类别分组的所有活动。
这样做的正确方法是什么?
我尝试使用 QueryBuilder,但您似乎无法与其他实体分组,只能使用值(如果我错了请告诉我)
$q = $repo->createQueryBuilder('a')
->leftJoin('a.project', 'p')
->leftJoin('a.categories', 'category')
->where('p.id = ?1')
->setParameter(1, $projectId)
->groupBy('category.id')
->getQuery();
return $q->getResult();
编辑 我真正需要的是显示一个包含相应活动的类别列表
-Category1
-Activity1
-Activity2
-Activity3
-Category2
-Activity3
-Activity4
-Category4
-Activity1
-Activity2
-Activity3
-Activity4
-Activity5
我做这件事的方法好,我的代码错了吗?还是我到处都错了?
非常感谢您的宝贵时间!
【问题讨论】:
-
在 SQL\DQL 中,
groupBy用于进行计数、平均值、总和等计算。您真正需要做什么? -
我需要显示一个包含相应活动的类别列表。
-
然后,您应该获取和迭代类别,而不是操作
标签: php symfony doctrine-orm entity dql