Laravel - 检查URL中是否存在$ id?

时间:2015-01-29 14:25:16

标签: php laravel laravel-4

如何在继续进行之前检查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时,它运行正常。

2 个答案:

答案 0 :(得分:2)

通过设置您的路线,使id - 参数可选:

Route::get('list/detail/{id?}', 'ListController@showListDetail');

有关详细信息,请参阅route parameters上的文档

答案 1 :(得分:1)

将您的路线更改为以下内容,这会使ID成为可选:

Route::get('list/detail/{id?}', 'ListController@showListDetail');