gorm 查询不到记录报错

  • 2022-07-11
  • 浏览 (4858)

gorm 使用First、Last查询,且传入的参数是结构体类型的时候,查询不到数据会报异常:gorm.ErrRecordNotFound

当不想将这个异常返回时,需要单独处理下这个异常,或使用slice接收查询结果。

e := DB.Where("id= ?", id).First(blog).Error
if e == gorm.ErrRecordNotFound {
  fmt.Println("数据不存在")
}

参考

gorm 踩坑

官方方法

查看官方文档,给了解决方法。

If you want to avoid the ErrRecordNotFound error, 
you could use Find like db.Limit(1).Find(&user), 
the Find method accepts both struct and slice data

如果你想避免ErrRecordNotFound异常,你可以使用Find方法:db.Limit(1).Find(&user),这个Find方法可以接收结构体或切片数据。

4  赞