如何通过Request $请求从URL获取id?(Laravel 5.3)

sam*_*toh 6 php routes request laravel laravel-5.3

我在视图上的链接href是这样的:

<a href="{{ route('message.inbox.detail.id', ['id' => $message->id]) }}" class="btn btn-default">
    <span class="fa fa-eye"></span> {{ trans('button.view') }}
</a>
Run Code Online (Sandbox Code Playgroud)

我的路线是这样的:

Route::get('message/inbox/detail/id/{id}', ['as'=>'message.inbox.detail.id','uses'=>'MessageController@detail']);
Run Code Online (Sandbox Code Playgroud)

点击后,网址显示如下:

http://myshop.dev/message/inbox/detail/id/58cadfba607a1d2ac4000254
Run Code Online (Sandbox Code Playgroud)

我想得到身份证明 Request $request

在控制器上,我尝试这样:

public function detail(Request $request)
{
    dd($request->input('id'));
}
Run Code Online (Sandbox Code Playgroud)

结果:null

我该如何解决?

小智 9

你可以这样得到它

$request->route('id')
Run Code Online (Sandbox Code Playgroud)

在请求类内,您可以通过这种方式访问​​它

$this->route('id')
Run Code Online (Sandbox Code Playgroud)

我通常在验证字段时使用它以确保它是唯一的,我需要在更新时通过ID排除模型

  • 这是正确的答案,值得注意的是它可能不是“id”。您传递的参数应与路由定义中的参数同名。 (2认同)

Ste*_*teD -1

通过以下方式获取 id:

public function detail($id)
{
   dd($id);
}
Run Code Online (Sandbox Code Playgroud)