在中间件之间传递数据

时间:2018-07-11 07:40:58

标签: laravel laravel-5 laravel-middleware

我已经创建了几个中间件,每个特定功能一个,并且我希望后续的中间件能够利用从先前的中间件创建的数据,而不是从头开始生成数据。有没有办法做到这一点?我不确定是否应该使用$request$next

2 个答案:

答案 0 :(得分:2)

您可以使用Session::put('key',$value)方法在会话中存储数据,然后使用Session::get('key')从下一个中间件中获取数据,也可以在$request对象中传递该数据,例如{{ 1}},然后可以使用$request->addCustomField = 'custom field value'从下一个中间件中获取它。 希望对您有帮助

答案 1 :(得分:2)

使用merge函数将其添加到输入中:

return $next($request->merge(['my_data' => $data]));

例如,可以使用$request->input('my_data')进行访问。

offsetUnset可用于删除下一个中间件中的数据。