如何在Laravel 5表单请求中使用请求路由参数?

我是Laravel 5的新手,我正在尝试使用新的表单请求来验证我申请中的所有表单。

现在我被困在需要删除资源的位置,我创建了一个DeleteResourceRequest,只是为了使用授权方法。

问题是我需要在路由参数中找到正在请求的id,但我看不到如何将其放入authorate方法。

我可以在控制器方法中使用id,如下所示:

public function destroy($id, DeletePivotRequest $request)
{
    Resource::findOrFail($id);
}

但是,如何在表单请求的授权方法中使其工作?


答案 1

这很简单,只需使用该方法即可。假设您的路由参数称为:route()id

public function authorize(){
    $id = $this->route('id');
}

答案 2

您可以通过 Illuminate\Http\Request 实例访问路由参数 Value

public function destroy($id, DeletePivotRequest $request)
{
    if ($request->route('id'))
    {
        //
    }

    Resource::findOrFail($id);
}

推荐