Laravel:如何在路由中将字符串设置为可选?

时间:2019-10-12 10:51:43

标签: laravel laravel-5 laravel-5.8 laravel-route

web.php中,我有:

Route::get('car/id/{id}/color/{color?}', 'carController@getCar);

但是我希望/color/{color?}的整个部分是可选的,而不仅仅是颜色参数/{color?},请您告诉我该怎么做?

2 个答案:

答案 0 :(得分:0)

尝试这个

Route::get('search/{query?}', 'YourController@method')->where('query','.+')

答案 1 :(得分:0)

此处使用的查询字符串参数更好(现在默认情况下整个部分应该是可选的)...

Route::get('car', 'carController@getCar);

示例:

car?id=1&color=red
car?id=2
car 

在控制器getCar方法中

getCart() {
    $id = request()->get('id');
    $color = request()->get('color');
}