// 首先先创建一个scope(可以理解成只针对本次数据库操作有效的一个环境),再调用inlineCondition内部方法,最后执行callcallbacks一系列方法实现真正的查询操作,并将db返回 func (s *DB) Find(out interface{}, where ...interface{}) *DB { return s.NewScope(out).inlineCondition(where...).callCallbacks(s...
但是会返回一个"空结构体",里面的值是结构体属性的"零值"!//Notice 同时Find方法里也可以放一个切片,进行多查~errFind := db.Table(LotteryTableName).Where("id = ?",123).Find(lotteryModel).Error fmt.Printf("errFind: %v, lotteryModel: %v", errFind, gconv.String(lotteryModel))//errFind: ...
gorm查询 not found处理operate := db.Raw(sql, startTime,endTime).First(&result)if nil != operate.Error { log.Errorln("error:", operate.Error) return nil, operate.Error}.First(&result)未查询到属于错误operate := db.Raw(sql, startTime,endTime).Find(&result)if nil != operate.Error { ...
gorm.DB的Error如果为空,没有错误,表示查询成功;gorm.DB的Error如果为ErrRecordNotFound,查询结果为...
First、Take、Last 获取一条记录。如果获取不到,则错误为ErrRecordNotFound Find在查询不到数据时不会返回ErrRecordNotFound First 和 Last 会根据主键排序,分别查询第一条和最后一条记录。 只有在目标 struct 是指针或者通过 db.Model() 指定 model 时,该方法才有效。如果相关 model 没有定义主键,那么将按 model...
} // If there are more than one error happened, get all of them with `GetErrors`, it returns `[]error` db.First(&user).Limit(10).Find(&users).GetErrors() // Check if returns RecordNotFound error db.Where("name = ?", "hello world").First(&user).RecordNotFound() if db.Model...
db.Where("***").Find(&user).Error if err == gorm.ErrRecordNotFound { // do something } if err != nil { // do something } 可以这样处理,当找不到user的时候,报什么错,当数据库错误的时候报什么错,都可以自己定义,这样岂不是很好吗其实这也是golang的一种惯用方法 有用4 回复 gun...
如果你想避免ErrRecordNotFound错误,你可以使用Find,比如db.Limit(1).Find(&user),Find方法可以接受struct和slice的数据。 First 和Last 会根据主键排序,分别查询第一条和最后一条记录。 只有在目标 struct 是指针或者通过 db.Model() 指定model 时,该方法才有效。 此外,如果相关 model 没有定义主键,那么将按...
Find函数在查找不到任何记录时不会返回gorm.ErrRecordNotFound错误,Error字段是nil 如果没有找到任何记录,RowsAffected返回值将是0 要判断Find操作是否找到了记录,可以根据RowsAffected字段是否为0来做判断 res := db.Find(&users) if res.RowsAffected == 0 { // 处理没有找到任何记录的情况 } else if res....
如果你想避免ErrRecordNotFound错误,你可以使用Find,比如db.Limit(1).Find(&user),Find方法可以接受struct和slice的数据。 First 和Last 会根据主键排序,分别查询第一条和最后一条记录。 只有在目标 struct 是指针或者通过 db.Model() 指定model 时,该方法才有效。 此外,如果相关 model 没有定义主键,那么将按 ...