2 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個贊
所以事實(shí)證明我需要將該DeletedAt字段設(shè)置為空值。在幕后,GORM 會自動檢查一個DeletedAt值。即SELECT * FROM users WHERE email = 'someone@gmail.com' AND deleted_at IS NULL。但是,我的DeletedAt字段被自動設(shè)置為空白日期,從技術(shù)上講,這不是NULL.
我添加了一個結(jié)構(gòu)...
type NullTime struct {
time.Time
Valid bool
}
然后更新了我的模型...
type User struct {
ID string `gorm:"primary_key:true"`
FirstName string `form:"first_name" json:"first_name,omitempty"`
LastName string `form:"last_name" json:"last_name,omitempty"`
Password string `form:"password" json:"password" bindind:"required"`
Email string `gorm:"type:varchar(110);unique_index" form:"email" json:"email,omitempty" binding:"required"`
Location string `form:"location" json:"location,omitempty"`
Avatar string `form:"avatar" json:"avatar,omitempty"`
BgImg string `form:"bg_img" json:"bg_img,omitempty"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt NullTime
}

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個贊
'gorm' 中的約定是在您的結(jié)構(gòu)中包含基本模型。
// Base Model definition from gomodel.go
type Model struct {
ID uint `gorm:"primary_key"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
}
// Your struct
type User struct {
gorm.Model
Name string
}
如您所見,'gorm' 需要一個指針來處理 NULL 值。
- 2 回答
- 0 關(guān)注
- 197 瀏覽
添加回答
舉報(bào)