为数组中的每个类别选择随机行

时间:2014-02-25 12:17:07

标签: php mysql sql symfony doctrine-orm

我有桌子问题。问题属于questioncategory:

问题:

----------------------------
| id | questioncategory_id |
----------------------------
| 1  | 1                   |
| 2  | 1                   |
| 3  | 1                   |
| 4  | 2                   |
| 5  | 2                   |
| 6  | 1                   |
----------------------------

我想用QueryBuilder或DQL构建一个查询,以检索每个questioncategory的随机行。问题类别存储在数组($ ids)中。

当前查询(返回每个类别的第一个问题):

$query = $repository->createQueryBuilder('p')
                ->where('p.questioncategory IN (:questionCat)')
                ->groupBy('p.questioncategory')
                ->setParameter('questionCat', $ids)
                ->getQuery();

有什么想法吗?我知道如何为所有问题检索随机行,它描述为here。我必须为每个类别检索随机行,因此我必须以某种方式计算每个类别的问题数量,然后为该类别选择随机行。

0 个答案:

没有答案