Roh*_*han 33 php laravel laravel-routing laravel-5 laravel-validation
我是Laravel 5的新手,我正在尝试使用新的表单请求来验证我的应用程序中的所有表单.
现在我陷入了需要删除资源的地步,我创建了一个DeleteResourceRequest,只是为了使用authorize方法.
问题是我需要在route参数中找到所请求的id,但我看不到如何将其转换为authorize方法.
我可以在控制器方法中使用id,如下所示:
public function destroy($id, DeletePivotRequest $request)
{
Resource::findOrFail($id);
}
Run Code Online (Sandbox Code Playgroud)
但是如何在Form Request的授权方法中使用它呢?
luk*_*ter 63
这很简单,只需使用该route()方法即可.假设您的路由参数被调用id:
public function authorize(){
$id = $this->route('id');
}
Run Code Online (Sandbox Code Playgroud)
您可以通过Illuminate\Http\Request实例访问Route参数值
public function destroy($id, DeletePivotRequest $request)
{
if ($request->route('id'))
{
//
}
Resource::findOrFail($id);
}
Run Code Online (Sandbox Code Playgroud)
Laravel 5.2,来自控制器:
use Route;
...
Route::current()->getParameter('id');
Run Code Online (Sandbox Code Playgroud)
如果你想对多个URL参数的多个路由使用相同的控制器方法,我发现这很有用,并且所有参数可能并不总是存在或者可能以不同的顺序出现......
也就是说getParameter('id'),无论{id}URL中的位置如何,都会给出正确的答案.
| 归档时间: |
|
| 查看次数: |
46202 次 |
| 最近记录: |