我创建了用于数据验证的表单请求,
我还创建了用于请求修改的中间件,该中间件通过从查询参数中获取值来在\Illuminate\Http\Request
对象中添加一个键
我希望由中间件修改的\Illuminate\Http\Request
对象数据与表单请求一起附加,以便我可以使用$ request对象进一步控制用户
我已将中间件代码编写到baseformrequest(custom class)
,并将该方法调用到我的formrequest
中。
中间件代码:
public function handle($request, Closure $next)
{
$requested_method = $request->route()->getActionMethod();
$required_with = [];
if($requested_method == 'show'){
if (!is_null($request->get('_with'))) {
$required_with = explode(',', $request->get('_with'));
}
}
$request->with = $request->get('_with');
return $next($request);
}
我希望所有修改后的请求对象都可以在我的表单请求对象中访问,但是我无法在Laravel控制器中访问
答案 0 :(得分:1)
您可以像这样向请求对象添加自定义属性
$request->attributes->add(['with' => $required_with])
然后您可以使用
进行访问$request->get('with');