我有实体旅行,让我们说它有30个条目,例如:
1-
2-
3-
4-
.
.
.
30-
我想随机选择6个实体,例如:2,14,7,25,16,1
我已经尝试过这段代码,但它确实有效,但结果总是按照ASC(3,4,5,6,7,8)的顺序显示。
public function getRandomTravelsFrontend()
{
$count = $this->createQueryBuilder('t')
->select('COUNT(t)')
->getQuery()
->getSingleScalarResult();
$qb = $this->createQueryBuilder('t')
->leftJoin('t.image', 'i')
->addSelect('i')
->Where('t.enabled = 1')
->setMaxResults(6)
->setFirstResult(rand(0, $count - 6));
return $qb->getQuery()->getResult();
}
如何按随机顺序显示结果?并且可以选择6个这样的实体:2,14,7,25,16,1?
答案 0 :(得分:-3)
您可以在SQL select语句中使用ORDER BY rand()
。