user()->id == $user->id) { return redirect()->route('profile', ['username' => $user->username, 'id' => $user->id]) ->with(Toastr::error("Nice try, but sadly you can not follow yourself.", 'Whoops!', ['options'])); } elseif (!auth()->user()->isFollowing($user->id)) { $follow = new Follow(); $follow->user_id = auth()->user()->id; $follow->target_id = $user->id; $follow->save(); return redirect()->route('profile', ['username' => $user->username, 'id' => $user->id]) ->with(Toastr::success('You are now following ' . $user->username, 'Yay!', ['options'])); } else { return redirect()->route('profile', ['username' => $user->username, 'id' => $user->id]) ->with(Toastr::error('You are already following this user', 'Whoops!', ['options'])); } } /** * Un Follow A User * * @param User $user * @return Illuminate\Http\RedirectResponse */ public function unfollow(User $user) { if (auth()->user()->isFollowing($user->id)) { $follow = auth()->user()->follows()->where('target_id', $user->id)->first(); $follow->delete(); return redirect()->route('profile', ['username' => $user->username, 'id' => $user->id]) ->with(Toastr::success('You are no longer following ' . $user->username, 'Yay!', ['options'])); } else { return redirect()->route('profile', ['username' => $user->username, 'id' => $user->id]) ->with(Toastr::error('You are not following this user to begin with', 'Whoops!', ['options'])); } } }