我有以下代码,我随机获得一个问题的答案:
$q = Question::with('answers')
->inRandomOrder()
->first();
我想以随机顺序返回answers
。
我的表结构是:
questions
answers
answer_questions
- question_id,answer_id
有什么想法吗?
答案 0 :(得分:3)
这应该有效:
$q = Question:with(['answers' => function ($q) {
$q->inRandomOrder();
}])->inRandomOrder()->first();
我在答案关系中调用了RandomOrder(以便答案将被随机排序)以及问题,因此这个查询将随机返回1个随机问题及其所有答案。
答案 1 :(得分:0)
试试这个:
$question= Question::inRandomOrder()->first();
$randomAnswer= $question->answers()->random();