首页 > 解决方案 > 更新数据时出错,由 Laravel REST API 中的未知列引起

问题描述

我已经在我的 laravel rest api 项目中完成了创建和阅读。

但是当我尝试测试“PUT”方法来更新它时,我发现了一个错误。错误本身我不知道如何解决那个 bcs 我对 laravel 还是新手。我的表名是“tb_peminjaman”,但更新方法将其读取为表的列。无论如何,我没有使用迁移创建表,因为我有自己的表直接使用 phpmyadmin 创建,所以基本上迁移填充了默认值。

这是邮递员显示的我的错误的屏幕截图>

“我试图更改我的代码也禁用时间戳,因为它可能会导致我的项目出现任何错误。这里我向您展示我在控制器中的更新代码。”

public function updatePinjam(Request $request, $id){
        if(Pinjam::where('no_pengajuan',$id)->exists()){
            $pinjam = Pinjam::find($id);
            $pinjam->ketua_kegiatan = is_null($request->ketua_kegiatan) ? $pinjam->ketua_kegiatan : $request->ketua_kegiatan;
            $pinjam->lab = is_null($request->lab) ? $pinjam->lab : $request->lab;
            $pinjam->level = is_null($request->level) ? $pinjam->level : $request->level;
            $pinjam->tanggal_mulai = is_null($request->tanggal_mulai) ? $pinjam->tanggal_mulai : $request->tanggal_mulai;
            $pinjam->tanggal_selesai = is_null($request->tanggal_selesai) ? $pinjam->tanggal_selesai : $request->tanggal_selesai;
            $pinjam->jam_mulai = is_null($request->jam_mulai) ? $pinjam->jam_mulai : $request->jam_mulai;
            $pinjam->jam_selesai = is_null($request->jam_selesai) ? $pinjam->jam_selesai : $request->jam_selesai;
            $pinjam->daftar_nama = is_null($request->daftar_nama) ? $pinjam->daftar_nama : $request->daftar_nama;
            $pinjam->keperluan = is_null($request->keperluan) ? $pinjam->keperluan : $request->keperluan;
            $pinjam->kontak_ketua = is_null($request->kontak_ketua) ? $pinjam->kontak_ketua : $request->kontak_ketua;
            $pinjam->app_laboran = is_null($request->app_laboran) ? $pinjam->app_laboran : $request->app_laboran;
            $pinjam->app_kalab = is_null($request->app_kalab) ? $pinjam->app_kalab : $request->app_kalab;
            $pinjam->app_kajur = is_null($request->app_kajur) ? $pinjam->app_kajur : $request->app_kajur;
            $pinjam->app_pudir = is_null($request->app_pudir) ? $pinjam->app_pudir : $request->app_pudir;
            $pinjam->save();
            return response()->json([
            "message" => "Perubahan Berhasil DiLakukan!"
        ], 200);
        } else {
        return response()->json([
            "message" => "Pinjam not found"
        ], 404);
    }
    }

这是错误消息:

Illuminate\Database\QueryException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'tb_peminjaman.id' in 'where clause' (SQL: select * from `tb_peminjaman` where `tb_peminjaman`.`id` = 15 limit 1) in file C:\xampp\htdocs\coba_api_laravel\vendor\laravel\framework\src\Illuminate\Database\Connection.php on line 664

请帮我解决这个错误,因为这对我继续完成我的项目很重要。太感谢了

标签: javascriptphplaravellaravel-5crud

解决方案


推荐阅读