如何恢复用 gormdeletedAt 软删除的数据

Oku*_*uke 6 go go-gorm

目前使用 gorm,我软删除了一个数据 我知道如何获取软删除的数据,但我需要恢复它,所以如果有人知道如何做,请告诉我

mko*_*iva 5

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)


Von*_*onC 2

检查问题 4388中提到的取消删除是否有帮助:

model.DeletedAt = gorm.DeletedAt{}
if err := o.DbPointer.Table(table).Save(&model).Error; err != nil {
    return err
}
Run Code Online (Sandbox Code Playgroud)

尽管在自定义连接表中重新插入软删除关系似乎并不明显(或工作)。