/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { // If any exceptions are thrown any DB operations // will be automatically rolled back. DB::transaction(function () use($request, $id) { $team = Team::find($id); $team->name = $request['name']; $team->number = $request['number']; $team->event()->associate(Event::find($request['event_id'])); if (!empty($request['members'])) { $this->syncTeamMembers($request, $team); } else { if (!$team->members->isEmpty()) { $team->members()->detach(); } } $team->save(); }); flash()->success('Success!', "Team data has been updated!"); return redirect(route('admin.weigh-ins.teams.index')); }