首页 > 解决方案 > 为什么我的删除对使用 golang gorm 的相关表不起作用?

问题描述

我正在尝试使用 GORM 向我的 postgresdb 发出删除命令,该命令还将从另一个表中删除相关记录。

当我使用下面的代码时,它会删除主记录,但不会从相关表中删除记录。我究竟做错了什么?

type Record struct {
  gorm.Model
  Name string
  RelatedRecords []RelatedRecord
}

type Relatedrecord struct {
  gorm.Model
  Col1 string
  Col2 string
  RecordID uint
}

func DeleteRecord(record_name string) {
    db = database.GetDB()
    var delrec Record
  

    if err := db.Unscoped().Select("RelatedRecords").Where("name = ? ", record).Delete(&delrec).Error; err != nil {
        log.Println(err)
        return
    }

    fmt.Println(recordname + " " + "deleted")
}

 

标签: gogo-gorm

解决方案


推荐阅读