目前使用 gorm,我软删除了一个数据 我知道如何获取软删除的数据,但我需要恢复它,所以如果有人知道如何做,请告诉我
https://gorm.io/docs/update.html#Update-single-column
您可以将该deleted_at列更新为NULL,例如
db.Model(&User{}).Where("id", 1).Update("deleted_at", nil)
Run Code Online (Sandbox Code Playgroud)
例子:
type User struct {
gorm.Model
gorm.DeletedAt
Name string
}
db.AutoMigrate(&User{})
db.Create(&User{Name: "John Doe"})
u := new(User)
fmt.Println(db.First(u, 1).Error) // nil
db.Delete(u, 1)
fmt.Println(db.First(u, 1).Error) // record not found
db.Model(u).Update("deleted_at", nil)
fmt.Println(db.First(u, 1).Error) // nil
Run Code Online (Sandbox Code Playgroud)
检查问题 4388中提到的取消删除是否有帮助:
model.DeletedAt = gorm.DeletedAt{}
if err := o.DbPointer.Table(table).Save(&model).Error; err != nil {
return err
}
Run Code Online (Sandbox Code Playgroud)
尽管在自定义连接表中重新插入软删除关系似乎并不明显(或工作)。