Laravel 8 中具有相同开头 URL 的两个路由变量

Two route variables with the same start URL in Laravel 8

是否可能有两个变量和 URL 的相同开头?
我的意思是 'turnaje/{tournament}''turnaje/{region}'

Route::get('/turnaje', [TournamentController::class, 'index']);
Route::get('/turnaje/pridat', [TournamentController::class, 'create'])
    ->middleware('auth');
Route::get('/turnaj/{tournament}', [TournamentController::class, 'show']);
Route::get('/turnaje/{region}', [TournamentController::class, 'show_region']);

Route::resource('turnaje', TournamentController::class)
    ->parameters(['tournaments' => 'tournaments:slug'])
    ->except(['index', 'show', 'choose', 'create'])
    ->middleware('auth');

不不可能,因为Laravel迷茫之后,不知道zou想要什么

这可以通过两种方式实现

如果参数可以通过https://laravel.com/docs/8.x/routing#parameters-regular-expression-constraints解析(一个有数字id,第二个有slug,等等)

或者创建由所需参数解析的共享控制器

  • 在区域中查找
  • 如果找不到,在比赛中查找
  • 不能使用隐式绑定,必须使用字符串

但我建议按路线拆分它 /{region}/turnaje