[英]updateOrCreate Function in laravel
代码很好,我会仔细检查我的代码,但我没有发现我的代码有任何问题。 这不会在任何情况下更新或插入地址或新用户数据。
$user = User::updateOrCreate(
[
'id' => Auth::id(),
'address' => auth()->user()->address
],
[
'address' => $request->address
]
);
if ($user)
return response()->json([
'status' => 200,
'add' => $request->address,
'msg' => 'Address Updated Successfully'
]);
else
return response()->json([
'status' => 200,
'msg' => 'Error Occured'
]);
相同的代码在这里只是在参数中使用 user_id
$user = User::updateOrCreate(
[
'id' => $request->id
],
[
'address' => $request->address
]
);
if ($user)
return response()->json([
'status' => 200,
'add' => $request->address,
'msg' => 'Address Updated Successfully'
]);
else
return response()->json([
'status' => 200,
'msg' => 'Error Occured'
]);
如果您在 UserController 中使用“updateOrCreate”方法,那么将它们放在同一个端点中并不是一个好习惯。 通常,“updateOrCreate”应该用于次要类型的数据。 对于主数据,创建和更新应该到达不同的端点,因此应该使用不同的方法。
此外,如果你有 Auth::id(),那么你就有了一个用户。 所以没有什么可以创造的。 要更新用户,只需使用 update 方法并获取具有 id 的用户。
要创建用户,请使用“store”方法传递值并在那里创建它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.