如何在继续进行之前检查URL中是否存在$ id?
在我的路线中:
Route::get('list', 'ListController@showList');
Route::get('list/detail/{id}', 'ListController@showListDetail');
在控制器文件中我有:
public function showListDetail($id = null)
{
if ($id == null) {
return Redirect::to("/");
}
echo "Test - Found ID: $id";
}
在浏览器中,当我输入:http://project.dev/list/detail
时出现错误:
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
但是,当我尝试http://project.dev/list/detail/123
时,它运行正常。
答案 0 :(得分:2)
通过设置您的路线,使id
- 参数可选:
Route::get('list/detail/{id?}', 'ListController@showListDetail');
有关详细信息,请参阅route parameters上的文档
答案 1 :(得分:1)
将您的路线更改为以下内容,这会使ID成为可选:
Route::get('list/detail/{id?}', 'ListController@showListDetail');