在 Laravel 中有没有办法向请求数组添加值?

新手上路,请多包涵

我在 Laravel 中遇到了一种情况,在调用带有 Request 参数的 store() 或 update() 方法以在调用 Eloquent 函数之前为请求添加一些附加值时,有什么办法可以做到这一点。

 function store(Request $request)
{
  // some additional logic or checking
  User::create($request->all());
}

原文由 Vijayanand Premnath 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 481
2 个回答

通常,您不想向 Request 对象添加任何内容,最好使用 collection 和 put() 助手:

 function store(Request $request)
{
    // some additional logic or checking
    User::create(array_merge($request->all(), ['index' => 'value']));
}

或者你可以 联合数组

 User::create($request->all() + ['index' => 'value']);

但是,如果您真的想向 Request 对象添加一些内容,请执行以下操作:

 $request->request->add(['variable' => 'value']); //add request

原文由 Alexey Mezenin 发布,翻译遵循 CC BY-SA 4.0 许可协议

RawPlot::create($req->all() + ['user_id'=>$user_id]);

这是一种将新变量合并到请求中的简单方法。

原文由 engr aurangzaib 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题