laravel - 如何更新 laravel 中的数据?
问题描述
我正在尝试更新我已经存在的用户。但我真的不知道该怎么做。
这是我用来更新用户的 API 路由
Route::put('/user/{user}', [UserController::class, 'updateUser']);
用户控制器中的功能是这样的:
public function updateUser(Request $request, User $user){
$data = $request->validate([
'username' => '',
'firstname' => '',
'lastname' => '',
'email' => '',
'password' => '',
'phone_number' => '',
'role' => '',
'companyID' => '',
'companyRole' => '',
]);
$input = $request->all();
$user->update($input);
return $user;
}
这是我在 vue 中用来将新用户数据发送到 laravel 的函数:
editUser(){
console.log(this.user)
this.$axios
.put('api/user/' + this.$route.params.id + this.user)
.then((response) => {
console.log(response.data)
})
.catch((err) => {
console.log(err)
})
}
这是“this.user”
{ "id": 1, "username": "user", "firstname": "user", "lastname": "user", "email": "user@test.com", "email_verified_at": null, "phone_number": 6282223, "role": "user", "companyID": 2, "companyRole": "employee", "logged_in": 0, "created_at": "2021-11-11T12:00:23.000000Z", "updated_at": "2021-11-11T12:00:23.000000Z" }
而“this.$route.params.id”只是用户 ID
我不知道我做错了什么。它没有更新
解决方案
也许我会尝试另一种方法来更新具有特定 ID 的用户。
在定义路由的 web.php 文件中:
Route::get('/update_user', '\App\Http\Controllers\PostController@update_user');
在我的示例 PostController 中的控制器中:
public function update_user()
{
//Find all users
$users = DB::select('select * from users');
foreach($users as $user){
//UPDATE
DB::update('update users set email = "userTest@test.com" where id = ?',[4]);
}
//If you want echo an alert message for the result
echo '<script>alert("The email of user with id = 4 has been updated.")</script>';
}
尝试根据您的需要塑造代码,但基本思想如上所述。
推荐阅读
- python - 在单独的线程中将数据写入磁盘(并行)
- here-api - Here Maps Routing API V8 - 多个航点
- r - R中向量中的字符相乘
- python - 如何显示对象的类类型,并创建排序的逗号分隔列表?
- python - 为什么 Selenium 在滚动时不抓取所有数据?
- r - 结果-feeding rolling window or rollapply with cumsum
- linux - whoami 命令在 jenkins cli 和 linux cli 中显示不同的用户名,尽管工作区 i
- path - 树 k 长度,更少的节点
- python - python请求('SSL例程','tls_process_server_certificate','证书验证失败')
- python - 更改 kivymd 的 MDBottomNavigation 中的默认选项卡