我有一个包含用户警报的表格,我想获得由创建它们的用户分组的所有警报的列表。
$qb = $this->em->getRepository('AppBundle:Alarm')->createQueryBuilder('a')->groupBy('a.userId');
$result = $qb->getQuery()->getResult();
问题是我每个用户只收到一个警报而不是他现有的所有警报。
如果我删除该组,则会收到所有警报。
有什么方法可以让用户分组所有闹钟?我期待得到阵列数组。
答案 0 :(得分:1)
这正是groupBy
子句应该工作的方式。它为Alarm
中的每一个选择第一个user
项。
如果您希望单个用户拥有所有Alarm
,则必须与group_concat
一起使用Doctrine
。您必须注册自定义DQL
功能。 Check here