Laravel 路由,有多种可能性的 slug
Laravel routing, slug with multiple possibilities
已经搜索了一段时间,但找不到是否可行的答案。
一个URL我正在尝试制作。将是
/location/province-name/city/category
省名只有几个选项。有没有办法设置它以便像这样的东西可以工作?
/{bc or ab or mn or etc}/{cityname}/{category}
这有意义吗?
/{bc or ab or mn or etc}/{cityname}/{category}
以上方法比以前的方法更灵活
您可以将验证添加为,
Route::get('/location/{province}/{city}/{category}', function ($province, $city, $category) {
// show 'Page Not Found' if $province in not in the available options
if(!in_array($province, ['bc', 'ab','mn'])) {
abort(404);
}
dd($province, $city, $category);
});
你可以做的是使用 pattern
routes/web.php
Route::pattern('province', '(bc|ab|mn|etc)');
Route::get('/location/{province}/{city}/{category}', function ($province, $city, $category) {
// TODO do something with your route
});
已经搜索了一段时间,但找不到是否可行的答案。
一个URL我正在尝试制作。将是
/location/province-name/city/category
省名只有几个选项。有没有办法设置它以便像这样的东西可以工作?
/{bc or ab or mn or etc}/{cityname}/{category}
这有意义吗?
/{bc or ab or mn or etc}/{cityname}/{category}
以上方法比以前的方法更灵活
您可以将验证添加为,
Route::get('/location/{province}/{city}/{category}', function ($province, $city, $category) {
// show 'Page Not Found' if $province in not in the available options
if(!in_array($province, ['bc', 'ab','mn'])) {
abort(404);
}
dd($province, $city, $category);
});
你可以做的是使用 pattern
routes/web.php
Route::pattern('province', '(bc|ab|mn|etc)');
Route::get('/location/{province}/{city}/{category}', function ($province, $city, $category) {
// TODO do something with your route
});