Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel:如何在路由中将字符串设置为可选?_Laravel_Laravel 5_Laravel 5.8_Laravel Route - Fatal编程技术网

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

Laravel:如何在路由中将字符串设置为可选?,laravel,laravel-5,laravel-5.8,laravel-route,Laravel,Laravel 5,Laravel 5.8,Laravel Route,在web.php中,我有: Route::get('car/id/{id}/color/{color?}', 'carController@getCar); 但是我希望/color/{color?}的整个部分都是可选的,而不仅仅是颜色参数/{color?},您能告诉我怎么做吗?试试这个吗 Route::get('search/{query?}', 'YourController@method')->where('query','.+') 最好在这里使用查询字符串参数(现在默认情况下,整

web.php
中,我有:

Route::get('car/id/{id}/color/{color?}', 'carController@getCar);
但是我希望
/color/{color?}
的整个部分都是可选的,而不仅仅是颜色参数
/{color?}
,您能告诉我怎么做吗?

试试这个吗

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

最好在这里使用查询字符串参数(现在默认情况下,整个部分应该是可选的)

例如:

car?id=1&color=red
car?id=2
car 
在控制器
getCar
方法中

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