I have a problem in laravel 8, when I run the query below for the first time it works fine without any issues, but when I rerun it it always shows a failure message unless I add The "isprocess" value changed to be different from the previous update.
How to continue to display the success message even if the updated value remains the same?
$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
The update()
method in the query builder returns the number of affected rows.
Checking for failed or successful values is inaccurate because running the same query twice will cause the second query to not affect any rows and therefore return 0, which evaluates to false
If an error occurs, an exception will be thrown
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);