public function survey(Request $request) { $request->session()->forget('identity'); $identity = $this->identify($request, strtolower($request->input('netid'))); $surveys = Survey::whereActive(true)->get(); if (sizeof($identity->answers) < 1) { $survey = Survey::whereActive(true)->first(); if ($survey) { return view('survey.form', ['survey' => $survey, 'identity' => $identity]); } else { return view('survey.404'); } } else { $survey_ids = []; foreach ($identity->answers as $answer) { array_push($survey_ids, $answer['survey_id']); } foreach ($surveys as $survey) { if ($survey->repeat) { if (!in_array($survey->id, $survey_ids) || !array_key_exists('repeat', $identity->answers[$survey->id])) { return view('survey.form', ['survey' => $survey, 'identity' => $identity]); } } else { if (!in_array($survey->id, $survey_ids)) { return view('survey.form', ['survey' => $survey, 'identity' => $identity]); } } } } if ($surveys) { return view('survey.result'); } else { return view('survey.404'); } //return view('survey.form', ['survey' => $survey]); //return view('survey.index'); }