/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $mSession = new MentorshipSession(); $mSession->mentor_id = $request->mentor; $mSession->mentee_id = $request->mentee; $mSession->session_tool_id = $request->tool_id; $mSession->facility = $request->m_facility; $mSession->self_reported_gap = $request->self_reported_gap; $mSession->previous_session_gap = $request->previous_session_gap; $mSession->other_gap = $request->other_gap; $mSession->session_objectives = $request->session_objectives; $mSession->mentee_strength = $request->mentee_strength; $mSession->mentee_improvement_areas = $request->mentee_improvement_areas; $mSession->session_comments = $request->session_comments; $mSession->save(); $sessionId = $mSession->session_id; switch ($request->tool_id) { case 1: $formIndicators = FormIndicatorDefinitions::clinicalIndicators(); break; case 2: $formIndicators = FormIndicatorDefinitions::laboratoryIndicators(); break; case 3: $formIndicators = FormIndicatorDefinitions::counselingIndicators(); break; case 4: $formIndicators = FormIndicatorDefinitions::nutritionIndicators(); break; case 5: $formIndicators = FormIndicatorDefinitions::pharmacyIndicators(); break; } foreach ($formIndicators as $ind) { $indNo = explode("_", $ind)[1]; $indScore = $request->{$ind}; $commentString = 'comm_' . $indNo; $comment = $request->{$commentString}; $indicatorScore = new MentorshipSessionScore(); $indicatorScore->session_id = $sessionId; $indicatorScore->indicator_id = $indNo; $indicatorScore->score = $indScore; $indicatorScore->comment = $comment; $indicatorScore->save(); } return redirect('mentorship-session'); }