Did you know you can define custom route bindings in Laravel?
In this example, I need to resolve a portfolio by slug. But the slug is not unique, because multiple users can have a portfolio named 'Foo'
So I define how Laravel should resolve them from a route parameter
class RouteServiceProvider extends ServiceProvider{    public const HOME = '/dashboard';     public function boot()    {        Route::bind('portfolio', function (string $slug) {            return Portfolio::query()                ->whereBelongsto(request()->user())                ->whereSlug($slug)                ->firstOrFail();        });    }}
Route::get('portfolios/{portfolio}', function (Portfolio $portfolio) {    /*     * The $portfolio will be the result of the query defined in the RouteServiceProvider     */})
Tip given by @mmartin_joo