/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request) { $validator = Validator::make($request->all(), ['key' => 'required|size:128', 'email' => 'email|required|max:254']); $redirectToEditUrl = function () use($request) { return Redirect::to('/subscription/edit?email=' . $request->input('email') . '&key=' . $request->input('key')); }; if ($validator->fails()) { $redirectToEditUrl(); } $subscription = Subscription::with('topics')->where('email', $request->input('email'))->where('key', $request->input('key'))->firstOrFail(); $subscription->topics()->detach(); if (!empty($request->input('topics')) && is_array($request->input('topics'))) { $tags = Tag::whereIn('id', array_keys($request->input('topics')))->get(); if (count($tags) != count(array_keys($request->input('topics')))) { Session::flash('errors', 'Woops. Something went badly wrong.'); return $redirectToEditUrl(); } $subscription->topics()->saveMany($tags->all()); } $subscription->save(); Session::flash('status', 'Saved.'); return $redirectToEditUrl(); }
public function index() { $id = \Auth::user()->id; $subscripts = Subscription::with('Soortcursus')->find(['id' => $id])->all(); return view('subscriptions.index', compact('subscripts')); }