From be05d2693e13422fc93f4a20002e55680e339645 Mon Sep 17 00:00:00 2001 From: Refringe Date: Tue, 17 Sep 2024 14:51:32 -0400 Subject: [PATCH] Remove Controller User Model Binding We're going to being in the user id from the URI instead so we can do a custom lookup on it. --- app/Http/Controllers/UserController.php | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 81ecf92..80f9a08 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -11,8 +11,12 @@ class UserController extends Controller { use AuthorizesRequests; - public function show(Request $request, User $user, string $username): View + public function show(Request $request, int $userId, string $username): View { + $user = User::where('id', $userId) + // Reimplement eager loading after the review. + ->firstOrFail(); + if ($user->slug() !== $username) { abort(404); } @@ -21,11 +25,6 @@ class UserController extends Controller abort(403); } - // not sure if this is optimal. Some way to do $user->with(...) ??? - $user = User::where('id', $user->id) - ->with(['followers', 'following']) - ->firstOrFail(); - return view('user.show', compact('user')); } }