/** * This method will be creating an application row in the database and fill * it upp with the visitors information. It will also create the required * foreign key linked tables and save all of them in the database * @return view */ private function submitForm() { DB::transaction(function () { $application_form = new \App\Application_form(); $application_form->user_id = Auth::user()->id; $application_form->status = 'pending'; $application_form->date = date('Y-m-d'); $application_form->save(); $application_id = $application_form->id; foreach (Session::pull('competenceArray') as $comp) { $competence_profile = new \App\Competence_profile(); $competence_profile->application_id = $application_id; $competence_profile->competence_id = \App\Competence::where('name', $comp->competence)->value('id'); $competence_profile->years_of_experience = $comp->years; $competence_profile->save(); } foreach (Session::pull('periodArray') as $comp) { $periods = new \App\Period(); $periods->application_id = $application_id; $periods->from_date = $comp->from_date; $periods->to_date = $comp->to_date; $periods->save(); } }); return view('submit_success'); }