在Laravel 8中,两个具有相同起始URL的路由变量



是否可能有两个变量和相同的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困惑之后,不知道他想要什么。

这可以通过两种方式实现

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新