2017-06-29 103 views
0

我已经做了关于采取7215 40问题总与此代码查询,获取随机顺序Laravel

$questions = Question::where([ 
    'visible' => 'yes', 
    'deleted' => 'no' 
]) 
    ->inRandomOrder() 
    ->take(40) 
    ->get(); 

,但在某些情况下,我得到了同样的问题多于1次在此查询,是有什么办法只有一个问题?

+0

替换获得第一()如果你想采取一个问题,在同一时间 – rahulsm

+0

@RahulMeshram我需要得到40个不同的问题在这个查询中,我每次执行它 – User154584

+0

@ User154584:我认为你可以尝试distinct()后采取(40) –

回答

1

尝试用您的查询不同,不知道这是否与inRandomOrder工作:

$questions = Question::where([ 
'visible' => 'yes', 
'deleted' => 'no' 
]) 
->inRandomOrder() 
->take(40) 
->distinct() 
->get();