go - 为什么我的删除对使用 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")
}