Gestion des erreurs dans la fonction de suppression de GORM
Lorsque vous travaillez avec des suppressions de bases de données à l'aide de GORM, il est crucial de réfléchir à la manière dont vous souhaitez gérer les suppressions de bases de données inexistantes. rangées. Par défaut, GORM ne génère pas d'erreur lors de la tentative de suppression d'une ligne inexistante. Au lieu de cela, le champ result.Error reste nul.
Pour modifier ce comportement et renvoyer une erreur pour les lignes inexistantes, vous devez inspecter le champ RowsAffected. Voici comment modifier votre fonction DeleteCategory :
<code class="go">func DeleteCategory(id uint) error { c := Category{ID: id} db := db.Delete(&c) if db.Error != nil { return db.Error } else if db.RowsAffected < 1 { return fmt.Errorf("row with id=%d cannot be deleted because it doesn't exist", id) } return nil }</code>
Dans cette fonction modifiée :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!