【问题标题】:cannot update data laravel 8无法更新数据 laravel 8
【发布时间】:2021-08-19 02:54:25
【问题描述】:

在 laravel 上更新数据时出现错误,

(违反完整性约束:1048 列 'nama_user' 不能为空(SQL:更新 users 设置 nama_user = ?, email = ?, 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
email 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

标签: php laravel postman


【解决方案1】:

确保您必须从邮递员那里发送表单数据。它应该是选项卡和格式,如截图

然后尝试打印 dd($request->all()) 并检查所有请求参数以及是否显示在那里的值。 它为我正常工作。

【讨论】:

    猜你喜欢
    • 2021-10-02
    • 2020-02-19
    • 1970-01-01
    • 2021-08-31
    • 2020-07-20
    • 1970-01-01
    • 2021-04-27
    • 2016-06-12
    • 2016-03-07
    相关资源
    最近更新 更多