首页 > 解决方案 > 返回 nil 结构而不是空结构 go-gorm

问题描述

使用以下模型:

type User struct {
    UUID string         `gorm:"primary_key"`
    Name string         `gorm:"NOT NULL"`
    CreatedAt time.Time
    UpdatedAt time.Time
}

如果您使用 go-gorm 对存在的用户执行以下查询:

var user User
db.First(&user)

您最终会收到一个填充了日期字段的空结构。有没有办法只接收一个nil结构,或者我是否以错误的方式考虑这个?

标签: gogo-gorm

解决方案


在 gorm 中,您应该使用方法调用检查记录是否为空:

if db.First(&user, 77).RecordNotFound() {
    log.Println("UUID:", 77, err)
}

推荐阅读