/** * Delete a trick from the database. * * @param string $slug * * @return \Illuminate\Http\RedirectResponse */ public function getDelete($slug) { $trick = $this->trick->findBySlug($slug); $trick->tags()->detach(); $trick->categories()->detach(); $trick->delete(); return $this->redirectRoute('user.index', null, ['success' => trans('user_tricks.trick_deleted')]); }
/** * Handle the liking of a trick. * * @param string $slug * * @return \Response */ public function postLike(Request $request, $slug) { if (!$request->ajax() || !Auth::check()) { $this->redirectRoute('browse.recent'); } $trick = $this->tricks->findBySlug($slug); if (is_null($trick)) { return Response::make('error', 404); } $user = Auth::user(); $voted = $trick->votes()->whereUserId($user->id)->first(); if (!$voted) { $user = $trick->votes()->attach($user->id, ['created_at' => new \DateTime(), 'updated_at' => new \DateTime()]); $trick->vote_cache = $trick->vote_cache + 1; } else { $trick->votes()->detach($voted->id); $trick->vote_cache = $trick->vote_cache - 1; } $trick->save(); return Response::make($trick->vote_cache, 200); }