有没有使用updateOrCreate添加user_id的有效方法?

时间:2019-04-17 12:04:40

标签: laravel

我正在尝试使用updateOrCreate从多字段表单添加/更新响应。

我避免使用$request->all为表单中的每个字段完整写出第二个参数。但是,到目前为止,这种方法使我无法添加记录完成所需的user_id值。该值(`$ userId')在控制器中获得,如下所示:

  $userId = Auth::user()->id;

  $cropid = $request->id;
  Crop::updateOrCreate(['id'=>$cropid],$request->all());  

是否可以保留$request->all方法并添加user_id值?

谢谢,汤姆。

1 个答案:

答案 0 :(得分:5)

您可以使用array_merge生成包含两个数据的数组:

$data = array_merge($request->all(), ['user_id' => $userId]);

然后,您可以在$data方法中使用生成的updateOrCreate

Crop::updateOrCreate(['id' => $cropId], $data);