/** * Update the specified resource in storage. * * @param Request $request * @param int $id * @return Response */ public function update(Request $request, $id) { $jobModel = Jobs::findOrNew($id); $companyPreferenceModel = CompanyPreference::findOrNew($jobModel->id_Company_Preference); $jobFields = $this->doValidation($request, Jobs::getValidatorRules()); $companyPreferenceModel->fill($this->doValidation($request, CompanyPreference::getValidatorRules()))->save(); if ($jobModel->address()->first()) { $jobModel->address()->first()->fill($this->doValidation($request, Addresses::getValidatorRules()))->save(); } else { $adressModel = $jobModel->address()->create($this->doValidation($request, Addresses::getValidatorRules())); $jobFields['AddressId'] = $adressModel->AddressId; } $jobFields["id_Company_Preference"] = $companyPreferenceModel->id_Company_Preference; $jobModel->fill($jobFields)->save(); return redirect(route('admin.jobs.index'))->with('flash', 'The Job was saved'); }