Итак, я создал тест с вариантами ответов a, b, c, и я хочу получить ответ из этого варианта и сохранить его в базе данных.Как сохранить в базе данных, чтобы ответ с первой попытки теста отличался от ответа на второй пробный ответ, чтобы я мог получить ответ и вызвать ответ, который необходимо вычислить в функции оценки теста?
что я пробовал:
в моем контроллере
public function score($id){
$user_login = Auth::user()->id;
$answers = Answer::select('user_answer')->where('jenis_quiz_id','=',$id)->where('user_id','=',$user_login)->get();//get the answer
unset($a);
unset($b);
unset($c);
$a = 0;
$b = 0;
$c = 0;
if($answers->count()) {
foreach ($answers as $answer) {
switch ($answer->user_answer) {
case 1:
$a++;
break;
case 2:
$b++;
break;
case 3:
$c++;
break;
}
}
return $a+$b+$c;
}
public function getShowResultOfQuiz($id){
$categoryquiz= JenisQuiz::findOrFail($id);
$user= Auth::user()->id;
// $instansi = Auth::user()->instansi;
// $kelas = Auth::user()->kelas;
$score= $this->score($id);
$kelas = Auth::user()->kelas;
$instansi = Auth::user()->instansi;
History::create([
'user_id'=>$user,
'jenis_quiz_id'=>$id,
'score'=> $score,
'kelas' => $kelas,
'instansi' => $instansi
]);
// $time_taken = date("H:i:s", strtotime(Answer::whereJenisQuizId($id)->orderBy('id', 'desc')->first()->time_taken));
switch ($id) {
case '1':
return view('user.pages.quizresult',compact('score','categoryquiz'));
break;
case '2':
return view('user.pages.quizanxietyresult',compact('score','categoryquiz'));
break;
case '3':
return view('user.pages.quizdepresiresult',compact('score','categoryquiz'));
break;
}
}
}
проблема: не удается отличить ответы от первой попытки теста и второй попытки теста (изта же самая форма викторины, но я взял ее дважды, и как сделать разницу между ними.
Мой код, приведенный выше, является результатом с первой попытки, добавленной ко второй попытке, как не добавить ее ??????