public function exams($type, Request $request) { $user = User::find($request->user()->id); $this->data['type'] = $type; $this->data['exams'] = Exams::where(['type' => ucwords(strtolower($type))])->orderBy('created_at', 'desc')->get()->toArray(); // Custom Create Mc Burger Exam if (Exams::where('code', 'mcburger')->count() < 1) { $exam = Exams::create(['code' => 'mcburger', 'title' => 'Mc Burger Assembly', 'items' => 6, 'attempts' => 3, 'type' => 'Interactive', 'status' => 1]); $this->data['exams'][] = $exam->toArray(); } // Custom Create Grill Station if (Exams::where('code', 'grill')->count() < 1) { $exam = Exams::create(['code' => 'grill', 'title' => 'Grill Station', 'items' => 4, 'attempts' => 3, 'type' => 'Interactive', 'status' => 1]); $this->data['exams'][] = $exam->toArray(); } // Custom Create Spaghetti Station if (Exams::where('code', 'spaghetti')->count() < 1) { $exam = Exams::create(['code' => 'spaghetti', 'title' => 'Spaghetti Station', 'items' => 3, 'attempts' => 3, 'type' => 'Interactive', 'status' => 1]); $this->data['exams'][] = $exam->toArray(); } // Custom Create Fries Station if (Exams::where('code', 'fries')->count() < 1) { $exam = Exams::create(['code' => 'fries', 'title' => 'Fries Station', 'items' => 5, 'attempts' => 3, 'type' => 'Interactive', 'status' => 1]); $this->data['exams'][] = $exam->toArray(); } foreach ($this->data['exams'] as $k => $v) { $this->data['exams'][$k]['questions'] = Exams::find($v['id'])->firstOrFail()->questions()->count(); $this->data['exams'][$k]['trials'] = User::find($user->id)->assessment()->where(['exam_id' => $v['id'], 'status' => 1])->count(); $lastAssessment = User::find($user->id)->assessment()->where(['exam_id' => $v['id'], 'status' => 1])->get()->last(); $this->data['exams'][$k]['score'] = false; if ($lastAssessment) { $this->data['exams'][$k]['score'] = $lastAssessment->score; } } return view('home.exams', $this->data); }