如果更新的值與資料庫中的先前資料相同,Laravel Eloquent回傳0
P粉662361740
P粉662361740 2024-03-27 09:07:52
0
1
389

我在laravel 8 中遇到問題,當我第一次運行下面的查詢時,它可以正常工作,沒有任何問題,但是當我重新運行它時,它總是顯示失敗訊息,除非我將“isprocess”值變更為與先前的更新有所不同。

即使更新後的值保持不變,如何繼續顯示成功訊息?

$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粉662361740
P粉662361740

全部回覆(1)
P粉262926195

查詢產生器中的 update() 方法傳回受影響的行數。

檢查失敗或成功的值不準確,因為執行兩次相同的查詢將使第二個查詢不影響任何行,因此傳回 0,其計算結果為 false

#如果發生錯誤,將會拋出例外

try {
    $updatedRowCount = DB::table('pricelist_naikharga')->whereDate('tanggal', 'update(["isproses" => 1]);
catch (\Exception $e) {
    echo outputJson(500, "Fail");
}

echo outputJson(200, "BerhasilSuccess, affected Rows: ".$updatedRowCount);
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板