2017-06-29 104 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();