Php Laravel在中间件中获取{id}get参数
问题:我无法在中间件中找到{id}参数。我的中间件需要获取{id}参数,以便验证Auth::user()是否是指定组的所有者 请求示例:将打开组/admin/open/4-->组4 我所拥有的: 路线: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参数(就像在控制器中一
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');
它带来了目标。和蔼的它带来了目标。和蔼的