/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return Response */ public function update(Requests\CreateEventRequest $request, Event $event) { $input = $request->all(); $input['ep'] = $this->_calculateEffortPoints($input); $currentMemberIds = $event->getMemberIdsAsArray(); foreach ($currentMemberIds as $currentMemberId) { if (!in_array($currentMemberId, $input['members'])) { $event->members()->detach($currentMemberId); } } if (is_array($input['members'])) { foreach ($input['members'] as $memberId) { if (!in_array($memberId, $currentMemberIds)) { $event->members()->attach($memberId); } } } $event->update($input); return redirect('events'); }