gorm中使用Updates更新非空的字段


gorm中使用Updates更新非空的字段

結構體model/Role

//通過遷移migrate生成的數據庫表 -字段 限制
type Role struct {
	Id          int
	Title       string `json:"title" gorm:"type:varchar(255);"`
	Description string `json:"description" gorm:"type:varchar(255);"`
	Status      int `json:"status" gorm:"type:tinyint;"`
	CreatedAt Time
	UpdatedAt Time
	DeletedAt Time
}
	err = common.DB.Model(&role).Updates(model.Role{
		Title:requestRole.Title,
		Description:requestRole.Description,
	}).Error
	if err != nil {
		c.JSON(200, gin.H{
			"data": gin.H{
				"err": err,
			},
			"meta": gin.H{
				"msg":    "更新文章失敗",
				"status": 400,
			},
		})
	}
// 警告: 當使用結構體更新的時候, GORM 只會更新那些非空的字段
// 例如下面的更新,沒有東西會被更新,因為像 "", 0, false 是這些字段類型的空值
db.Model(&user).Updates(User{Name: "", Age: 0, Actived: false})
參考官方文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM