见下文。
type User struct {
Id int64 `db:"id" json:"id"`
Name string `db:"name" json:"name"`
DateCreate int64 `db:"date_create"`
DateUpdate int64 `db:"date_update"`
}
func (u *User) PreInsert(s gorp.SqlExecutor) error {
u.DateCreate = time.Now().UnixNano()
u.DateUpdate = u.DateCreate
return nil
}
func (u *User) PreUpdate(s gorp.SqlExecutor) error {
u.DateUpdate = time.Now().UnixNano()
return nil
}
我执行了插入。
user := model.User{
Name: "John",
}
err := dbMap.Insert(&user)
插入的结果。没问题
1,John,1444918337049394761,1444918337049394761
继续,我执行了 UPDATE。
user := model.User{
Id: 1,
Name: "John",
}
_, err := dbMap.Update(&user)
更新结果
1,John,0,1444918337049394900
列 DateCreate 已更新。
当然,我的期望值是
1,John,1444918337049394761,1444918337049394900