Golang Go语言中 [gorm] beforeUpdate hook 方法

发布于 1周前 作者 vueper 来自 Go语言

Golang Go语言中 [gorm] beforeUpdate hook 方法

gorm 中 BeforeUpdate 方法能取到 update 之后的值吗,或者使用 gorm 如何实现这种 hook ?

func (m *User) BeforeUpdate(tx *gorm.DB) (err error) {
	if tx.Statement.Changed("Mobile") {
		err = tx.Model(&Profile{}).Where("user_id = ?",m.ID).Update("mobile", m.Mobile(这里是更新之前的 mobile)).Error
		if err != nil {
			DB.Error("user before update hook(mobile) error", zap.Any("err", err))
		}
	}
    }

如上面的代码,只能按照文档里的说明,只能用 changed 来检测 col 是否被更改, 但是拿不到更新后的值。或者是上面的这种实现方法对么,求指点 问:如何实现这种在检测到值更改之后,然后用 更新后的值 再去做操作的 hook ?


更多关于Golang Go语言中 [gorm] beforeUpdate hook 方法的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

回到顶部