是否可能有两个变量和相同的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
拆分