当前位置:  开发笔记 > 编程语言 > 正文

Laravel在中间件中获取{id}参数

如何解决《Laravel在中间件中获取{id}参数》经验,为你挑选了1个好方法。

问题:我无法在中间件中找到{id}参数.我的中间件需要获取{id}参数,以验证Auth :: user()是否是指定组的所有者.

请求示例:groups/admin/open/4 - >将打开第4组.

是)我有的:

路线:

Route::post('groups/admin/open/{id}', 'GroupController@opengroup')->middleware(['auth','owner']);

我的中间件('所有者')仍然是空的.

我尝试了什么:1.在函数中添加$ id参数(就像在控制器中一样),如下所示:

public function handle($request, /* Added -> */ $id, Closure $next)
{

    dd(Input::get('id'));

    return $next($request);
}

这会返回一个错误:

Argument 3 passed to App\Http\Middleware\RedirectIfNotOwner::handle() must be an instance of Closure, none given

最后,$ id的不同位置会导致错误:

Missing argument 3 for App\Http\Middleware\RedirectIfNotOwner::handle()

我试过的2:我想过要改变我的网址

请求示例:groups/admin/open?groupparam = 4

并使用

Input::get('groupparam');

但这迫使我改变我的控制器等.这仍然是一个选择.

问的理由:此外我相信Laravel也有能力在中间件中检索{id} params,非常漂亮.我只是不知道如何.

你能帮助我吗?

谢谢,

Eltyer



1> jedrzej.kury..:

您可以通过以下方式轻松获取路径中间件中的路由参数:

$id = $request->route('id');

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有