CAN';T更新LARAVEL控制器中的数据
我无法将数据更新到数据库,我正在使用postman,结果是成功,但数据库中的数据未更新 这是我在控制器中的功能: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
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']);你的主键怎么会有空格呢?我强烈建议你重命名列名。带空格的列名将来只会给您带来更多问题。已解决!!我在这里找到了答案