CAN';T更新LARAVEL控制器中的数据

CAN';T更新LARAVEL控制器中的数据,laravel,Laravel,我无法将数据更新到数据库,我正在使用postman,结果是成功,但数据库中的数据未更新 这是我在控制器中的功能: public function update(Request $request, $id) { $dbelicpkb = DBeliCPKB::find($id); if(is_null($dbelicpkb)) { return response()->json('Spesifikasi Not

我无法将数据更新到数据库,我正在使用postman,结果是成功,但数据库中的数据未更新

这是我在控制器中的功能:

public function update(Request $request, $id) {
            $dbelicpkb = DBeliCPKB::find($id);
            if(is_null($dbelicpkb)) {
                return response()->json('Spesifikasi Not Found', 404);
            }
            if($request->tanggal != $dbelicpkb["Tanggal"]){
                $dbelicpkb["Tanggal"] = $request->tanggal;
            }
            if($request->noSuplier != $dbelicpkb["No Suplier CPKB"]){
                $dbelicpkb["No Suplier CPKB"] = $request->noSuplier;
            }
            if($request->kodeBarang != $dbelicpkb["Kode Barang CPKB"]){
                $dbelicpkb["Kode Barang CPKB"] = $request->kodeBarang;
            }
            if($request->jumlah != $dbelicpkb["Jumlah"]){
                $dbelicpkb["Jumlah"] = $request->jumlah;
            }
            if($request->noLP != $dbelicpkb["No LP"]){
                $dbelicpkb["No LP"] = $request->noLP;
            }
            if($request->noBet != $dbelicpkb["No Bet"]){
                $dbelicpkb["No Bet"] = $request->noBet;
            }
            if($request->noFaktur != $dbelicpkb["No Faktur"]){
                $dbelicpkb["No Faktur"] = $request->noFaktur;
            }
            if($request->status != $dbelicpkb["Status"]){
                $dbelicpkb["Status"] = $request->status;
            }
            $success = $dbelicpkb->save(); 
这就是我尝试使用邮递员的结果

[
    "updated",
    {
        "Tanggal": "2020-01-31 00:00:00",
        "No Bukti CPKB": "2001001",
        "No Suplier CPKB": "300001",
        "Kode Barang CPKB": "1010",
        "Jumlah": "20",
        "No LP": "P2001001",
        "No Bet": "101010",
        "No Uji": "UP2001001",
        "No Faktur": "1010",
        "Status": "Belum Diuji"
    },
    true,
    200
]
结果是成功,但在我的数据库中什么也没有发生

这是我的路线

Route::post('dbelicpkbs/update/{id}', 'DBeliCPKBController@update');
这是我的模型

class DBeliCPKB extends Model
{
     /**
     * @var string
     */
    protected $table = 'dbelicpkb';
    protected $primaryKey = 'no uji';
    /**
     * @var array
     */
    protected $guarded = [];

    public $timestamps = false;

    public function HBeliPembelians()
    {
        return $this->belongsTo(HBeliPembelian::class,'No Bukti');
    }

}

首先,在列名中使用空格是非常糟糕的做法

必须使用箭头来设置给定模型实例的属性:

公共功能更新(请求$Request,$id){
$dbelicpkb=dbelicpkb::find($id);
if(为null($dbelicpkb)){
return response()->json('Spesifikasi Not Found',404);
}
如果($request->tanggal!=$dbelicpkb->{'tanggal'}){
$dbelicpkb->{'Tanggal'}=$request->Tanggal;
}
如果($request->nosupplier!=$dbelicpkb->{'No supplier CPKB'}){
$dbelicpkb->{'No supplier CPKB'}=$request->nosupplier;
}
如果($request->kodeBarang!=$dbelicpkb->{'Kode Barang CPKB'}){
$dbelicpkb->{'Kode Barang CPKB'}=$request->kodeBarang;
}
如果($request->jumlah!=$dbelicpkb->{'jumlah'}){
$dbelicpkb->{'Jumlah'}=$request->Jumlah;
}
如果($request->noLP!=$dbelicpkb->{'No LP'}){
$dbelicpkb->{'No LP'}=$request->noLP;
}
如果($request->noBet!=$dbelicpkb->{'No Bet'}){
$dbelicpkb->{'No Bet'}=$request->noBet;
}
如果($request->noFaktur!=$dbelicpkb->{'No Faktur'}){
$dbelicpkb->{'No Faktur'}=$request->noFaktur;
}
如果($request->status!=$dbelicpkb->{'status'}){
$dbelicpkb->{'Status'}=$request->Status;
}
$success=$dbelicpkb->save();
}
还要确保已在模型的
$filleble
属性中指定了该列:

public$filleble=[
“无LP”,
“不赌”
...
];
或者通过放置
protected$guarded=[]使所有内容都可填充在您的模型中

希望这个答案对您有所帮助。

试试这个: 方法和编码似乎存在一些问题

使用x-www-form-urlencoded放置


这应该会有帮助

可填充应该不是问题,因为它不是批量分配首先,谢谢你的回答,但它对我仍然不起作用。你能在哪里条件下试试吗?DBeliCPKB::where('id',$id)->update(['some_key','some value']);你的主键怎么会有空格呢?我强烈建议你重命名列名。带空格的列名将来只会给您带来更多问题。已解决!!我在这里找到了答案