Heim > Fragen und Antworten > Hauptteil
Ich habe ein Problem in Laravel 8. Wenn ich die folgende Abfrage zum ersten Mal ausführe, funktioniert sie ohne Probleme, aber wenn ich sie erneut ausführe, wird immer eine Fehlermeldung angezeigt, es sei denn, ich ändere den Wert „isprocess“ in „ anders als beim vorherigen Update.
Wie kann die Erfolgsmeldung weiterhin angezeigt werden, obwohl der aktualisierte Wert gleich bleibt?
$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
查询生成器中的 update()
方法返回受影响的行数。
检查失败或成功的值不准确,因为运行两次相同的查询将使第二个查询不影响任何行,因此返回 0,其计算结果为 false
如果发生错误,将会抛出异常
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);