亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何恢復我軟刪除的數據與gorm刪除在

如何恢復我軟刪除的數據與gorm刪除在

Go
當年話下 2022-10-04 19:24:00
目前使用gorm和我軟刪除一個數據,我知道如何獲取其軟刪除的數據,但我需要恢復它,所以如果有人知道如何做,請讓我知道
查看完整描述

3 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

https://gorm.io/docs/update.html#Update-single-column


您可以將列更新為 ,例如deleted_atNULL


db.Model(&User{}).Where("id", 1).Update("deleted_at", nil)

例:


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


查看完整回答
反對 回復 2022-10-04
?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

檢查問題 4388 中提到的取消刪除是否有幫助:

model.DeletedAt = gorm.DeletedAt{}

if err := o.DbPointer.Table(table).Save(&model).Error; err != nil {

    return err

}

盡管在自定義連接表中重新插入軟刪除關系似乎并不明顯(或有效)。


查看完整回答
反對 回復 2022-10-04
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

使用最新的GORM版本,需要取消范圍才能激活軟刪除的記錄。

db.Unscoped().Model(&model{}).Where("id", id).Update("deleted_at", nil)


查看完整回答
反對 回復 2022-10-04
  • 3 回答
  • 0 關注
  • 342 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號