繁体   English   中英

Laravel route / {variable?}未输入时无效

[英]Laravel route/{variable?} not working when not entered

所以在我的web.php中我有这样的路线:

Route::get('city/{city_id?}', function($city_id) {
    return view('search');
});

但是当我尝试输入'localhost / public / city /'时,它会显示一个错误:

"Type error: Too few arguments to function Illuminate\Routing\Router::{closure}(), 0 passed in /opt/lampp/htdocs/laravelcourse/vendor/laravel/framework/src/Illuminate/Routing/Route.php on line 198 and exactly 1 expected "

当我输入变量时它工作得很好。 不应该? 符号是指我可以输入它或者可以留空并仍然可以工作?

这应该工作,如果没有传递参数,你需要提供一个默认值。

Route::get('city/{city_id?}', function($city_id = null) {
    return view('search');
});

应该是这样的:

Route::get('city/{city_id?}', function($city_id = null) {
    return view('search');
});

请阅读此处的文档: Laravel可选路由

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM