Laravel маршрутизация, слизняк с несколькими возможностями - PullRequest
0 голосов
/ 25 января 2019

Некоторое время искал и не могу найти ответ, если это возможно.

Один URL, который я пытаюсь создать.будет

/location/province-name/city/category

Название провинции имеет только несколько вариантов.Есть ли способ настроить его так, чтобы что-то подобное работало?

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

имеет ли это смысл?

Ответы [ 3 ]

0 голосов
/ 25 января 2019

Вы можете добавить проверку как,

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);
});
0 голосов
/ 25 января 2019

Что вы можете сделать, это использовать шаблон

routs / 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
});
0 голосов
/ 25 января 2019
/{bc or ab or mn or etc}/{cityname}/{category}

вышеуказанный подход более гибкий, чем предыдущий

...