我在一个 Controller 中处理数据并希望将其进一步传递到另一个 Controller 以避免重复代码。
有没有办法设置另一个 Controller 的 store
方法中需要的 Request 对象?我追踪了 Request 继承并找到了 Symfony 的 Request 对象,它有一个 request
属性,它实际上是一个 ParameterBag
包含一个方法 add
添加带有值的参数。
我尝试了以下方法,但结果是 null
:
$myRequest = new Request();
$myRequest->request->add(['foo' => 'bar']);
var_dump($myRequest->foo);
我正在为这个项目使用 Laravel 5.1。
最佳答案
您可以使用 replace()
:
$request = new \Illuminate\Http\Request();
$request->replace(['foo' => 'bar']);
dd($request->foo);
另外,创建 Job
会更有意义。对于您的第二个 Controller 中发生的任何事情并删除ShouldQueue
接口(interface)使其同步运行。
希望这会有所帮助!
关于php - 即时创建一个 Laravel Request 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40262947/