public function destroyBulk(Request $request, $exam_id) { $table_records = $request->input('table_records'); if (empty($table_records) or !is_array($table_records)) { return redirect()->back(); } $exam = Exam::findOrFail($exam_id); $exam->questions()->detach($table_records); return redirect()->route('exams.questions.index', $exam->id); }
public function student_exam_result($exam_id, $student_id) { $exam = Exam::findOrFail($exam_id); $questions = ExamQuestion::select('exams.id', 'exam_questions.question_id', 'answer', 'degree')->with('question', 'question.choices')->where('exam_questions.exam_id', $exam_id)->join('exams', function ($j) { $j->on('exam_questions.exam_id', '=', 'exams.id')->where('exams.semester_id', '=', semester()->id); })->join('exam_results', function ($j) use($student_id) { $j->on('exams.id', '=', 'exam_results.exam_id')->where('exam_results.semester_id', '=', semester()->id)->where('exam_results.student_id', '=', $student_id); })->join('exam_result_answers', function ($j) { $j->on('exam_results.id', '=', 'exam_result_answers.exam_result_id')->on('exam_questions.question_id', '=', 'exam_result_answers.question_id'); })->get(); $records = ExamRecording::select('stream_name', 'id')->where('student_id', $student_id)->where('exam_id', $exam_id)->get(); return view('exams::exams.student_exam_result', compact('questions', 'exam', 'records')); }
public function saveresult($subject_id = 0, $exam_id = 0, $student_id = 0, $exam_type = null) { # code... $exam = Exam::findOrFail($exam_id); $student = Student::findOrFail($student_id); $grade = config('exams.grade'); $questions = ExamQuestion::select('exams.id', 'exam_results.id as exam_result_id', 'exam_questions.question_id', 'answer', 'degree', 'qbq.question as questionname', 'qbq.model_answer as modelanswer')->with('question', 'question.choices')->where('exam_questions.exam_id', $exam_id)->join('exams', function ($j) { $j->on('exam_questions.exam_id', '=', 'exams.id')->where('exams.semester_id', '=', semester()->id); })->join("questionbank_questions AS qbq", "qbq.id", '=', "exam_questions.question_id")->join('exam_results', function ($j) use($student_id) { $j->on('exams.id', '=', 'exam_results.exam_id')->where('exam_results.semester_id', '=', semester()->id)->where('exam_results.student_id', '=', $student_id); })->join('exam_result_answers', function ($j) { $j->on('exam_results.id', '=', 'exam_result_answers.exam_result_id')->on('exam_questions.question_id', '=', 'exam_result_answers.question_id'); })->where('qbq.type', '=', 'essay')->get(); return view('teachers::profile.tests.saveresult', compact('questions', 'subject_id', 'exam_id', 'grade', 'exam_type', 'student_id', 'student')); }
public function storequestion(QuestionRequest $request, $activity_id) { $question = new Question(); Session::put('typeQ', $request->get('type')); $question->fill($request->all()); $question->user_id = teacher()->id; $question->save(); $exam = Exam::findOrFail($activity_id); $exam->questions()->detach($question->id); $exam->questions()->attach($question->id); $choices = $request->input('choices'); if (!empty($choices)) { //not essay foreach ($choices as $key => $choice) { if ($request->get('type') != 'multiple_choice') { if ($request->input('choices_correct_new_00') == $key) { // TF or Single choice $istrue = 1; } else { $istrue = 0; } } else { if (!empty($request->choices_correct_new)) { //multiple_choice //if(!empty($request->choices_correct_new)) if (array_key_exists($key, $request->choices_correct_new)) { $istrue = 1; } else { $istrue = 0; } //$istrue = $request->input('choices_correct_new['.$key.']'); } else { $istrue = 0; } } Choice::create(['choice' => $choice, 'question_id' => $question->id, 'istrue' => $istrue]); } } $message = 'تم اضافة السؤال بنجاح'; if (request('submit') == 'save') { return redirect()->route('teachers.profile.createquestion', array('id' => $activity_id))->with('success', $message); } else { $request->session()->forget('typeQ'); return redirect()->route('teachers.profile.questions', array('id' => $activity_id))->with('success', $message); } }
public function move(Request $request) { $input = $request->all(); $exam = Exam::findOrFail($input['exam_id']); $exam->questions()->attach($input['table_records']); return redirect()->route('exams.exams.display', $exam->id); }