Laravel Eloquent gibt 0 zurück, wenn der aktualisierte Wert mit den vorherigen Daten in der Datenbank übereinstimmt
P粉662361740
P粉662361740 2024-03-27 09:07:52
0
1
348

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

Antworte allen(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);
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!