/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $quiz = Quiz::findOrFail($request->get('quiz_id')); //calculamos la nota $value_evaluation = $quiz->evaluation->value; $max_question = $quiz->evaluation->max_question; $min_value = $quiz->evaluation->min_value; $answers = $quiz->answers; /* * Respuestas Correctas */ $correct_answers = 0; foreach ($answers as $answer) { if ($answer->correct == 1) { $correct_answers++; } } $quiz_result = $value_evaluation / $max_question * $correct_answers; $quiz_approval = $quiz_result * 100 / $value_evaluation; if ($quiz_approval < $min_value) { $quiz->status = 'rejected'; } else { $quiz->status = 'approved'; } $quiz->save(); $result = new Result(); $result->fill($request->all()); $result->correct_answers = $correct_answers; $result->quiz_result = $quiz_result; $result->quiz_approval = $quiz_approval; $result->user_id = Auth::id(); $result->save(); return redirect()->route('results.show', $result); }