Loops 如何使用用户在laravel5.1中输入的数据集合继续测验

Loops 如何使用用户在laravel5.1中输入的数据集合继续测验,loops,laravel-5.1,Loops,Laravel 5.1,我要直截了当地说下去。这个问题与,如果你解决了这个问题,我会在3天内给你奖金 我想要什么 在用户回答测验后,用户可以保存测验而不提交,以便以后编辑/继续。现在,在他们保存之后,我如何在测验的当前问题循环中循环浏览用户的答案?以便用户可以编辑或继续测验 我拥有的 $quiz = Quiz::with('multiple_choices.answers', 'true_false', 'short_answer', 'descriptions')->findOrFail($id); $que

我要直截了当地说下去。这个问题与,如果你解决了这个问题,我会在3天内给你奖金

我想要什么

在用户回答测验后,用户可以保存测验而不提交,以便以后编辑/继续。现在,在他们保存之后,我如何在测验的当前问题循环中循环浏览用户的答案?以便用户可以编辑或继续测验

我拥有的

$quiz = Quiz::with('multiple_choices.answers', 'true_false', 'short_answer', 'descriptions')->findOrFail($id);

$questions = collect($quiz->multiple_choices);
$questions = $questions->merge(collect($quiz->true_false));
$questions = $questions->merge(collect($quiz->short_answer));
$questions = $questions->merge(collect($quiz->descriptions));
$questions = $questions->sortBy('question_number');
数据库:

用户的测验结果具有
9
字段,
['id'、'quick\u id'、'user\u id'、'question\u id'、'answer'、'question\u type'、'trunt\u number'、'marks'、'grades']

  • 此表保存所有用户的答案,因此此表用作用户测验的历史记录表
quizattempt\u用户
3个
字段,
['id','quick\u id','user\u id']

  • 此表保存了用户的所有尝试,因此我可以在用户的
    测验结果表中引用用户
    的所有答案,其中
    id
    =
    尝试次数
控制器-更新

$quiz = Quiz::with('multiple_choices.answers', 'true_false', 'short_answer', 'descriptions')->findOrFail($id);

$questions = collect($quiz->multiple_choices);
$questions = $questions->merge(collect($quiz->true_false));
$questions = $questions->merge(collect($quiz->short_answer));
$questions = $questions->merge(collect($quiz->descriptions));
$questions = $questions->sortBy('question_number');
问题


我现在可以循环浏览用户的问题和答案,但我不知道如何放置用户的答案,因为它也是一个数据集合注意:每个测验都可以有不同类型的问题,
多项选择
正确或错误
,以及
简短答案/填空
,根据我对表格结构的了解,我们可以创建一个由问题ID键入的用户答案字典,因此,我们可以轻松地查找每个问题的答案。下面是一个我们可以扩展的最小实现:

$questions=…//参见问题描述
$answers=QuizResults::where('quick_id',$quick->id)
->其中('user_id',$userId)
->其中('trunt_number',$attemptNumber)
->得到()
->keyBy('question_id');
foreach($问题作为$问题)
{ 
echo$question->question_number+“++$question->description;
如果($问题是多回音){
foreach($question->答案为$choice){echo$choice;…}
} 
回显“您的答案:”+$answers->get($question->id)->first()->answer;
}

我不确定页面是否使用Blade生成结果。为清楚起见,这是用普通PHP编写的,但是为刀片模板重写它应该很容易

在用户的答案集合中,根据尝试次数应用排序,并从集合中获取最后一个答案。例如:
$answers->sortBy('trust_number')->last()
我回答了前面的问题,但是如果没有更多的信息和示例,这个问题很难回答。特别是,如何获取测验结果和用户的答案?用户
表的答案列的测验结果中的数据是什么样的?模型关系是如何建立的?我很乐意提供帮助,但问题需要更多与问题相关的上下文。请查看我的更新