Rumah > Soal Jawab > teks badan
Saya menghadapi masalah dalam laravel 8, apabila saya menjalankan pertanyaan di bawah buat kali pertama, ia berfungsi dengan baik tanpa sebarang masalah, tetapi apabila saya menjalankannya semula, ia sentiasa menunjukkan mesej kegagalan, melainkan saya menukar nilai "isprocess " berubah menjadi berbeza dengan kemas kini sebelum ini.
Bagaimana untuk terus memaparkan mesej kejayaan walaupun nilai yang dikemas kini kekal sama?
$updateIsProses = DB::table('pricelist_naikharga')->whereDate('tanggal', '<=', '2022-05-01')->update(["isproses" => 1]); if($updateIsProses){ echo outputJson(200, "BerhasilSuccess"); }else{ echo outputJson(500, "Fail"); }
P粉2629261952024-03-28 00:38:46
Kaedah update()
dalam pembina pertanyaan mengembalikan bilangan baris yang terjejas.
Nilai semakan untuk kegagalan atau kejayaan tidak tepat kerana menjalankan pertanyaan yang sama dua kali akan menyebabkan pertanyaan kedua tidak menjejaskan mana-mana baris dan oleh itu mengembalikan 0, yang menilai kepada false
Jika ralat berlaku, pengecualian akan dilemparkan
try { $updatedRowCount = DB::table('pricelist_naikharga')->whereDate('tanggal', '<=', '2022-05-01')->update(["isproses" => 1]); catch (\Exception $e) { echo outputJson(500, "Fail"); } echo outputJson(200, "BerhasilSuccess, affected Rows: ".$updatedRowCount);