Laravel路由,有很多可能性

时间:2019-01-25 09:02:42

标签: laravel routing slug

搜索了一会儿,无法找到答案。

我要创建的一个URL。会是

/location/province-name/city/category

省名只有几个选项。有没有办法设置它,使类似的东西行得通?

/{bc or ab or mn or etc}/{cityname}/{category}

这有意义吗?

3 个答案:

答案 0 :(得分:1)

您可以使用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
});

答案 1 :(得分:0)

/{bc or ab or mn or etc}/{cityname}/{category}

上述方法比以前的方法更灵活

答案 2 :(得分:0)

您可以添加验证为

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);
});