public function realizarExamen($id, Request $request) { $examen = Examen::find($id); $preguntas = Pregunta::where('examen_id', $id)->orderByRaw('RAND()')->get(); $preguntaNext = []; $nota = 0; foreach ($preguntas as $pregunta) { //comprobamos si las preguntas ya fueron contestadas por el alumno. $repuestaUser = RespuestaUser::where('pregunta_id', $pregunta->id)->where('user_id', Auth::user()->id)->count(); // me traigo todas las respuestas correctas $respuestas = Respuesta::where('pregunta_id', $pregunta->id)->where('estado', 1)->get(); foreach ($respuestas as $respuesta) { $correcta = RespuestaUser::where('respuesta_id', $respuesta->id)->where('user_id', Auth::user()->id)->count(); if ($correcta == 1) { $nota += $pregunta->valor; } } //enviamos todas las preguntas que no han sido contestadas if (!$repuestaUser) { $preguntaNext = Pregunta::where('id', $pregunta->id)->with('respuestas')->orderByRaw('RAND()')->get(); } } $detalles = ['pregunta' => $preguntaNext, 'nota' => $nota]; if ($request->ajax()) { return response()->json($detalles); } //return view('examen.realizarExamen', compact('preguntaNext', 'examen', 'nota')); }
public function postPreguntes() { $preguntes = Request::input('arr'); foreach ($preguntes as $preg) { $result = Pregunta::where('votacio_id', '=', Request::input('id'))->where('titol', '=', $preg[0])->get(); if ($result->isEmpty() && $preg[0] != "") { $nouPreg = array('titol' => $preg[0]); $nouPreg = array_add($nouPreg, 'opcions', $preg[1]); $nouPreg = array_add($nouPreg, 'votacio_id', Request::input('id')); if ($preg[2] == "true") { $nouPreg = array_add($nouPreg, 'obligatoria', true); } else { $nouPreg = array_add($nouPreg, 'obligatoria', false); } $novaPregunta = Pregunta::create($nouPreg); } } }