Php 如何从Laravel 5中的请求中检索url参数?
我想用中间件中的模型执行某些操作。下面是我想要实现的一个例子:Php 如何从Laravel 5中的请求中检索url参数?,php,laravel,laravel-5,laravel-middleware,laravel-request,Php,Laravel,Laravel 5,Laravel Middleware,Laravel Request,我想用中间件中的模型执行某些操作。下面是我想要实现的一个例子: 公共函数句柄($request,Closure$next) { $itemId=$request->param('item');//isBad())返回重定向(route('don_sure')); 返回$next($request); } 我的问题是,如何从$request中检索所需的参数?如果参数是URL的一部分,并且此代码正在中间件中使用,则您可以从给定的路由通过其名称访问参数: public function handle
公共函数句柄($request,Closure$next)
{
$itemId=$request->param('item');//isBad())返回重定向(route('don_sure'));
返回$next($request);
}
我的问题是,如何从
$request
中检索所需的参数?如果参数是URL的一部分,并且此代码正在中间件中使用,则您可以从给定的路由通过其名称访问参数:
public function handle(Request $request, Closure $next)
{
$itemId = $request->item;
//..............
}
public function handle($request, Closure $next)
{
$itemId = $request->route()->getParameter('item');
$item = Item::find($itemId);
if($item->isBad()) return redirect(route('dont_worry'));
return $next($request);
}
这是基于如下路由:'/getItem/{item}'
在Laravel 5.5之后使用此选项
“request->param('item')”你是说request GET/POST参数吗?@pbwned只是一个url参数。例如,从
/item/{id}
routeI中提取id
部分。我得到错误:“getParameter()”方法不存在。我得到了如下参数:$request->route()->parameters['item']
Me<代码>$request->route('item')适合我。Laravel5.7$request->route()->参数['item']和$request->route('item')也适用于Laravel5.5。但是“getParameter()”没有
public function handle($request, Closure $next)
{
$item = Item::find($request->route()->parameter('item'));
if($item->isBad()) return redirect(route('dont_worry'));
return $next($request);
}