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

Php Laravel在中间件中获取{id}get参数,php,laravel,laravel-5,middleware,url-parameters,Php,Laravel,Laravel 5,Middleware,Url Parameters,问题:我无法在中间件中找到{id}参数。我的中间件需要获取{id}参数,以便验证Auth::user()是否是指定组的所有者 请求示例:将打开组/admin/open/4-->组4 我所拥有的: 路线: Route::post('groups/admin/open/{id}', 'GroupController@opengroup')->middleware(['auth','owner']); 我的中间件(“所有者”)仍然为空 我尝试的是: 1.在函数中添加$id参数(就像在控制器中一

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

请求示例:将打开组/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:我想的是像这样改变我的url

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

和使用

Input::get('groupparam');
但这迫使我对控制器等进行更改。这仍然是一个选项

询问原因:此外,我相信Laravel也有能力在中间件中检索{id}参数。我只是不知道怎么做

你能帮我吗

谢谢


Eltyer

您可以使用以下工具在路由中间件中轻松获取路由参数:

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

您可以使用以下工具在路由中间件中轻松获取路由参数:

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

它带来了目标。和蔼的它带来了目标。和蔼的