我正在尝试使用updateOrCreate从多字段表单添加/更新响应。
我避免使用$request->all
为表单中的每个字段完整写出第二个参数。但是,到目前为止,这种方法使我无法添加记录完成所需的user_id值。该值(`$ userId')在控制器中获得,如下所示:
$userId = Auth::user()->id;
$cropid = $request->id;
Crop::updateOrCreate(['id'=>$cropid],$request->all());
是否可以保留$request->all
方法并添加user_id值?
谢谢,汤姆。
答案 0 :(得分:5)
您可以使用array_merge生成包含两个数据的数组:
$data = array_merge($request->all(), ['user_id' => $userId]);
然后,您可以在$data
方法中使用生成的updateOrCreate
:
Crop::updateOrCreate(['id' => $cropId], $data);