gpt4 book ai didi

go - 没有行时 RecordNotFound 返回 false

转载 作者:IT王子 更新时间:2023-10-29 01:01:11 25 4
gpt4 key购买 nike

我遇到了 this library 的问题因为即使给定的输入不在数据库中,此函数也会返回 false,而实际上它应该返回 true。

type User struct {
ID uint `gorm:"primary_key"`
Username string `json:",omitempty"`
Password string `json:",omitempty"`
CreatedAt time.Time `json:",omitempty"`
}

b, err := db.Con()
if err != nil {
log.Panic(err)
}

defer db.Close()

// We want an empty struct
// Otherwise it will trigger the unique key constraint
user := []User{}

// Check if the username is taken
// BUX, MUST FIX: This always returns false for some reason
if db.Where(&User{Username: "MyUsername"}).Find(&user).RecordNotFound() == false {
fmt.Println("Username found")
}

为什么它总是返回 false,即使字符串为空?

最佳答案

看起来 .RecordNotFound() 出于某种原因已从 SDK 中删除。

现在使用它来处理未找到记录的错误

dbRresult := userHandler.db.Where("email = ?", email).First(&user)
if errors.Is(dbRresult.Error, gorm.ErrRecordNotFound) {
// handle record not found
}

关于go - 没有行时 RecordNotFound 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52066153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com