如何使用gorm检查用户是否已存在于数据库中?如果没有找到用户,我似乎找不到正确的方法来执行此操作而不会将错误记录到控制台。
到目前为止,这是我的代码
result := models.User{}
err := connection.DB.First(&result, "username = ?", user.Username).Error
if err == gorm.ErrRecordNotFound {
if err := connection.DB.Create(&user).Error; err != nil {
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
"error": "internal server error",
})
}
return c.Status(fiber.StatusCreated).JSON(fiber.Map{
"message": "user created",
})
}
if result.Username != "" {
return c.Status(fiber.StatusConflict).JSON(fiber.Map{
"error": "username already exists",
})
}
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
"error": "internal server error",
})
但是如果创建了一个新用户,则会向终端打印一条错误消息,说明未找到该记录。
阿波罗的战车
MMMHUHU
相关分类