【发布时间】:2021-08-19 02:54:25
【问题描述】:
在 laravel 上更新数据时出现错误,
(违反完整性约束:1048 列 'nama_user' 不能为空(SQL:更新
users设置nama_user= ?,password= $2y$10$.xYE1yE99DkN2OdyCecI1OkIVqSdJQb8LUXIuumv7A 987654328@ = ?,status= ?,users.updated_at= 2021-08-19 02:59:55 其中id= 10) 在文件 C:\xampp\htdocs\mysmk-be\vendor \laravel\framework\src\Illuminate\Database\Connection.php 在第 692 行)
这是我的控制器代码
public function update(Request $request, $id){
$users = ManagemenUser::where('id', $id)->first();
$users->nama_user = $request->nama_user;
$users->email = $request->email;
$users->password = bcrypt($request->password);
$users->role = $request->role;
$users->status = $request->status;
if($users->save()){
return response()->json([
"status" => "success",
"message" => 'Berhasil Menyimpan Data'
]);
}else{
return response()->json([
"status" => "failed",
"message" => 'Gagal Menyimpan Data'
]);
}
}
我使用邮递员表单数据进行请求
| key | value |
|---|---|
| nama_user | ihsan20 |
| ihsan@gmail.com | |
| password | 12345678 |
| role | 1 |
| status | 1 |
【问题讨论】:
-
您的请求中似乎没有数据。执行
return $request->all();以便它返回即将发生的内容。 -
@porloscerros Ψ 当我返回 $request->all(); 时我得到了 null;
-
确保您从邮递员那里发送表单数据。
-
您确定它返回 null 而不是空数组吗?还要确保你使用的是这个类
Illuminate\Http\Request而不是另一个 -
nama_user在您的模型的$fillable中吗?参见例如stackoverflow.com/questions/56909816/…,或the docs。