/** * Toggle follower * * @return Response */ public function postToggleFollow(\App\Http\Requests\FollowRequest $request) { $follower_id = $request->input('follower_id'); $followee_id = $request->input('followee_id'); $is_follow = $this->user->toggleFollow($follower_id, $followee_id); // return response()->json(['is_follow' => $is_follow]); return redirect()->back(); }
/** * Follow / Unfollow a user * * @param App\Http\Requests\FollowRequest $request * * @return response */ public function follow(FollowRequest $request) { $followed = User::find($request->followed_id); $row = DB::table('follows')->where([['followed_user_id', $followed->id], ['follower_user_id', $request->user()->id]]); if (count($row->get())) { $row->delete(); // Ensure this never drops into the negative if ($followed->followers_count > 0) { $followed->followers_count -= 1; } } else { DB::table('follows')->insert(['followed_user_id' => $followed->id, 'follower_user_id' => $request->user()->id]); $followed->followers_count += 1; } $followed->save(); return response()->json(['success' => true]); }