Gorm ErrRecordNotFound 的坑

原先的一个查找的写法:

if err := db.Table("users").Where("wechat_account = ?", wechat_id).First(u).Error; err != nil {

return nil, err

}

这里隐含了一个依赖,就是如果没有查找到相应记录,会返回 ErrRecordNotFound 的错误。但是重构之后写法改成了传入 optional 条件进行 query 的形式,最终查询使用的语句是 db.Find()。而在 gorm 中,First 在查找不到记录时会返回 ErrRecordNotFound 的错误,但是 Find 不会,就导致重构前后的逻辑不一致

以上是 Gorm ErrRecordNotFound 的坑 的全部内容, 来源链接: utcz.com/z/264491.html

回到顶部