Laravel Eloquent renvoie 0 si la valeur mise à jour est la même que les données précédentes dans la base de données
P粉662361740
P粉662361740 2024-03-27 09:07:52
0
1
347

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

répondre à tous(1)
P粉262926195

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', 'update(["isproses" => 1]);
catch (\Exception $e) {
    echo outputJson(500, "Fail");
}

echo outputJson(200, "BerhasilSuccess, affected Rows: ".$updatedRowCount);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!