Golang Go语言中 [gorm] beforeUpdate hook 方法
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