php - 在 laravel 中,超级用户如何使用用户 ID 更新特定用户
问题描述
我正在创建一个管理部分,超级用户需要在其中编辑具有特定 ID 的另一个用户详细信息。像 User::create 一样,如何更新用户详细信息?
if( empty($user_id) ){
User::create([
'name' => $data['name'],
'lastname' => $data['lastname'],
'email' => $data['email'],
'mobile' => $data['mobile'],
'role' => $data['role'],
'password' => Hash::make($data['password']),
]);
}else{
//update user details
}
解决方案
有几个选择:
这是一个:
if (empty($user_id) ){
User::create([
'name' => $data['name'],
'lastname' => $data['lastname'],
'email' => $data['email'],
'mobile' => $data['mobile'],
'role' => $data['role'],
'password' => Hash::make($data['password']),
]);
} else{
User::where('id', $user_id)->update([
'name' => $data['name'],
'lastname' => $data['lastname'],
'email' => $data['email'],
'mobile' => $data['mobile'],
'role' => $data['role'],
'password' => Hash::make($data['password']),
]);
}
另一种方法是:
User::find($user_id)->fill([
'name' => $data['name'],
'lastname' => $data['lastname'],
'email' => $data['email'],
'mobile' => $data['mobile'],
'role' => $data['role'],
'password' => Hash::make($data['password']),
])->save();
第一种方式在单个查询中进行更新,因此速度更快,但第二种方式将触发模型事件saving
,updating
因此选择您需要的内容。
推荐阅读
- logstash - 用于 OASIS 日志的 GROk
- javascript - 如何在单独的页面上打印带有类的 div
- python - 如何在 Python 中使用 Azure Functions 的 Azure Blob 存储绑定将 JSON 数据上传到 Azure 存储 Blob
- javascript - 未在 Angular 8 的 Post API 调用中发送授权持有者令牌
- java - Spring官方文档中的问题
- sql - 外部连接错误 - 加入日期与日期
- javascript - 如何在 ReactJS 中处理增加和减少帖子
- asp.net-core - EditorTemplate asp-for="Property" vs value="@Model.Property"
- cloudflare-workers - 使用 cloudflare 工作人员修改链接 href
- aws-lambda - Dynamo Db 从表中删除重复条目