2016-08-07 1 views
1

私はユーザアラームのあるテーブルを持っています。それらを作成したユーザによってグループ化されたすべてのアラームのリストを取得したいと思います。Doctrine "group by"は既存のすべてのオブジェクトを返しません

$qb = $this->em->getRepository('AppBundle:Alarm')->createQueryBuilder('a')->groupBy('a.userId'); 
$result = $qb->getQuery()->getResult(); 

問題は、彼の既存のすべてのアラームではなく、ユーザーごとに1つのアラームしか得られないということです。

グループを削除すると、すべてのアラームが表示されます。

すべてのアラームをユーザーごとにグループ化する方法はありますか。私は配列を取得することを期待していた。

答えて

1

これは、groupBy句が機能するように動作しています。 userのそれぞれの最初のAlarmアイテムが選択されます。

Alarmを1人のユーザーにしたい場合は、group_concatと一緒に作業しなければなりません。もう一度Doctrineが付いていません。カスタムDQL機能を登録する必要があります。 Check here

関連する問題