示例#1
0
 /**
  * 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')]);
 }
示例#2
0
 /**
  * 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);
 }