You can do Route model binding like Route::get('api/users/{user}', function (User $user) { … } - but not only by ID field. If you want {user} to be a username field, put this in the model:
public function getRouteKeyName() { return 'username';}
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses
Laravel Coding with AI Agents: Cursor, Claude Code, Codex
5 lessons
1 h 01 min
Laravel Modules and DDD
16 lessons
1 h 59 min
Laravel 12 For Beginners: Your First Project
15 lessons
1 h 32 min