Maison > Questions et réponses > le corps du texte
J'ai un problème dans Laravel 8, lorsque j'exécute la requête ci-dessous pour la première fois, cela fonctionne bien sans aucun problème, mais lorsque je la réexécute, elle affiche toujours un message d'échec, à moins que je ne change la valeur "isprocess" pour être différent de la mise à jour précédente.
Comment continuer à afficher le message de réussite même si la valeur mise à jour reste la même ?
$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
La méthode update()
du générateur de requêtes renvoie le nombre de lignes affectées.
La valeur de la vérification de l'échec ou du succès n'est pas exacte car exécuter deux fois la même requête fera que la deuxième requête n'affectera aucune ligne et renverra donc 0, ce qui donne false
Si une erreur se produit, une exception sera levée
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);