2016-12-28 146 views
3

關係,我有以下的代碼,我得到一個隨機問題,它的答案:Laravel:獲取隨機順序

$q = Question::with('answers') 
     ->inRandomOrder() 
     ->first(); 

我想以隨機順序返回answers

我的表結構是:

questions

answers

answer_questions - question_id,answer_id

任何想法?

回答

3

這應該工作:

$q = Question:with(['answers' => function ($q) { 
    $q->inRandomOrder(); 
}])->inRandomOrder()->first(); 

我叫inRandomOrder的答案關係(這樣的回答會被隨機排序),以及問題,所以該查詢隨機返回1個隨機問題,隨機答案全部爲答案。

+0

這是100%,正好,我的用例大聲笑。謝謝 :) – JoshP

0

試試這個:

$question= Question::inRandomOrder()->first(); 
$randomAnswer= $question->answers()->random();