我正在使用foreach显示所有问题,并为答案显示一个问题。
他们两个都有一个question_id。
但是如何使用两个foreach循环使我的应用程序知道答案属于什么地方?
答案 0 :(得分:0)
能否请您提供更多详细信息? 从您提供的一些信息中,我只能猜测...
#1:创建一个Answer
模型
#2:在您的Question
模型中添加与Answer
模型的关系:
public function answers()
{
return $this->hasMany(Answer::class);
}
#3:将所有问题与答案随机排序:
$questions = Questions::get();
foreach ($questions as $question) {
// getting the answer of a specific question ordered by RAND
$answers = $question->answers()->orderByRaw("RAND()")->get();
foreach ($answers as $answer) {
// here your answer
}
}
有关Laravel关系的更多信息: https://laravel.com/docs/5.7/eloquent-relationships
答案 1 :(得分:0)
如果您以随机顺序显示问题,则创建一个数组$ random 显示问题后将存储question_id。 现在,为了显示答案,遍历该$ random数组并显示其question_id等于$ random [$ i]
的答案foreach ($random as $ques_id)
display the answer whose question_id is $ques_id