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 ?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.