/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $lookup = SosLookup::findOrFail($id); $messages = ['unique_with' => 'This combination of selection already exists.']; $this->validate($request, ['customer_id' => 'required|unique_with:sos_lookups, regions = region_id, distributors = distributor_id, stores = store_id, templates = template_id,' . $id, 'regions' => 'required', 'distributors' => 'required', 'stores' => 'required', 'templates' => 'required'], $messages); \DB::beginTransaction(); try { $lookup->customer_id = $request->customer_id; $lookup->region_id = $request->regions; $lookup->distributor_id = $request->distributors; $lookup->store_id = $request->stores; $lookup->template_id = $request->templates; $lookup->update(); SosLookupPercentage::where('sos_lookup_id', $lookup->id)->delete(); foreach ($request->category as $category_id => $category) { $less = $category[0]; foreach ($category as $key => $value) { if ($key > 0) { if (!empty($value)) { $newlookup = new SosLookupPercentage(); $newlookup->sos_lookup_id = $lookup->id; $newlookup->category_id = $category_id; $newlookup->sos_id = $key; $newlookup->less = $less; $newlookup->value = $value; $newlookup->save(); } } } } \DB::commit(); Session::flash('flash_message', 'SOS Lookup successfully updated!'); return redirect()->route("soslookup.edit", [$id]); } catch (Exception $e) { dd($e); DB::rollBack(); return redirect()->back(); } }