public function index($exam_id) { $exam = Exam::with('subject')->findOrFail($exam_id); $exam_questions = ExamQuestion::with(['question' => function ($query) { $query->orderByRaw("case\n when questionbank_questions.type = 'true_false' then 'a'\n when questionbank_questions.type = 'single_choice' then 'b'\n when questionbank_questions.type = 'multiple_choice' then 'c'\n when questionbank_questions.type = 'essay' then 'd'\n end ASC"); }])->select('era.id as has_been_corrected', 'exam_questions.exam_id', 'exam_questions.question_id', 'exam_questions.devide_grade')->has('question')->join('exams as e', 'e.id', '=', 'exam_questions.exam_id')->leftJoin('exam_results as er', 'er.exam_id', '=', 'e.id')->leftJoin('exam_result_answers as era', 'era.exam_result_id', '=', 'er.id')->where('exam_questions.exam_id', $exam->id)->groupBy('exam_questions.id')->get(); $list_questions = Question::select('questionbank_questions.*')->selectRaw('CONCAT(( CASE questionbank_questions.type WHEN "essay" THEN "مقالي" WHEN "true_false" THEN "صح أو خطأ" WHEN "single_choice" THEN "إختياري إجابة واحدة" WHEN "multiple_choice" THEN "إختياري متعدد" WHEN "essay" THEN "مقالي" END), " --- ", questionbank_questions.question) as full_question')->join('subject_lessons as sl', 'sl.id', '=', 'questionbank_questions.lesson_id')->join('subject_subjects as ss', function ($join) use($exam) { $join->on('ss.id', '=', 'sl.subject_subject_id')->where('ss.id', '=', $exam->subject_id); })->groupBy('questionbank_questions.id')->whereNotIn('questionbank_questions.id', $exam_questions->pluck('question_id'))->pluck('full_question', 'id')->toArray(); return view('exams::questions.index', compact('exam_questions', 'list_questions', 'exam')); }
public function questionlistsub($id) { $questions = Question::select('question', 'questionbank_questions.type', 'difficulty', 'level', 'questionbank_questions.id', 'subject_lessons.name as lesson_name')->join('subject_lessons', 'subject_lessons.id', '=', 'questionbank_questions.lesson_id')->join('subject_subjects', 'subject_subjects.id', '=', 'subject_lessons.subject_subject_id')->where('subject_subjects.id', $id)->paginate(20); return view('questionbank::questionlistsub', compact('questions')); }
public function questions($activity_id = 0) { # code... $exam = Exam::findOrFail($activity_id); $subject_id = $exam->subject_id; $exam_questions = ExamQuestion::with('question')->has('question')->where('exam_id', $exam->id)->get(); $list_questions = Question::select('questionbank_questions.*')->selectRaw('CONCAT(( CASE questionbank_questions.type WHEN "essay" THEN "مقالي" WHEN "true_false" THEN "صح أو خطأ" WHEN "single_choice" THEN "إختياري إجابة واحدة" WHEN "multiple_choice" THEN "إختياري متعدد" WHEN "essay" THEN "مقالي" END), " --- ", questionbank_questions.question) as full_question')->join('subject_lessons as sl', 'sl.id', '=', 'questionbank_questions.lesson_id')->join('subject_subjects as ss', function ($join) use($exam) { $join->on('ss.id', '=', 'sl.subject_subject_id')->where('ss.id', '=', $exam->subject_id); })->groupBy('questionbank_questions.id')->whereNotIn('questionbank_questions.id', $exam_questions->pluck('question_id'))->pluck('full_question', 'id')->toArray(); return view('teachers::profile.questions.index', compact('exam_questions', 'list_questions', 'exam', 'subject_id', 'activity_id')); }
/** * @desc search the question using one word or more * @parm $subjectid int = subject id * @parm $questions array = questions list and ditails * @return list of q view **/ public function search(Request $req, $subjectid) { $search = $req->input('search'); $questions = Question::select('question', 'questionbank_questions.type', 'difficulty', 'level', 'questionbank_questions.id', 'subject_lessons.name as lesson_name')->join('subject_lessons', 'subject_lessons.id', '=', 'questionbank_questions.lesson_id')->join('subject_subjects', 'subject_subjects.id', '=', 'subject_lessons.subject_subject_id')->where('subject_subjects.id', $subjectid)->where('question', 'like', '%' . $search . '%')->paginate(20); return view('questionbank::subject.question', compact('questions', 'subjectid')); }