/** * Responds to requests to GET /profile/favorite-exercises */ public function getFavoriteExercises() { $current_user = Auth::user(); $favorite_exercises = FavoriteExercise::with('exercise')->where('user_id', $current_user->id)->get(); return view('profile.favorite-exercises', ['favorite_exercises' => $favorite_exercises]); }
/** * Responds to requests to POST /exercises/favorites/{id} * Works like a toggle if exercise not in favorite->adds it, * otherwise removes from favorite */ public function postFavorite($id) { $user = Auth::user(); $favorite = FavoriteExercise::where('user_id', $user->id)->where('exercise_id', $id)->first(); if ($favorite) { $favorite->delete(); return response()->json(['result' => false]); } else { $favorite = new FavoriteExercise(); $favorite->user_id = $user->id; $favorite->exercise_id = $id; $favorite->save(); return response()->json(['result' => true]); } }