/**
  * 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'));
 }