【发布时间】:2018-08-28 21:01:53
【问题描述】:
我遇到了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,即使字符串为空?
【问题讨论】:
-
来自错误的文档:"ErrRecordNotFound 记录未找到错误,仅在使用结构查找时未找到任何匹配数据时发生,找不到切片' t 返回此错误"(强调我的)link
-
嘿@Jeffrey,您是否希望在您的数据库中有多个用户名相同的用户(一个坏主意)?