/** * 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 = OsaLookup::findOrFail($id); $messages = ['unique_with' => 'This combination of selection already exists.']; $this->validate($request, ['customer_id' => 'required|unique_with:osa_lookups, regions = region_id, distributors = distributor_id, store_id = store_id, templates = template_id,' . $id, 'regions' => 'required', 'distributors' => 'required', 'store_id' => '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(); OsaLookupTarget::where('osa_lookup_id', $lookup->id)->delete(); foreach ($request->target as $category_id => $value) { if ($category_id > 0) { if (!empty($value)) { $newlookup = new OsaLookupTarget(); $newlookup->osa_lookup_id = $lookup->id; $newlookup->category_id = $category_id; $newlookup->target = $value; $newlookup->total = $request->total[$category_id]; $newlookup->save(); } } } \DB::commit(); Session::flash('flash_message', 'OSA Lookup successfully updated!'); return redirect()->route("osalookup.edit", [$id]); } catch (Exception $e) { dd($e); DB::rollBack(); return redirect()->back(); } }