首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang GORM Delete with Select

Golang GORM Delete with Select
EN

Stack Overflow用户
提问于 2021-05-27 15:12:28
回答 1查看 342关注 0票数 1

我正在尝试级联删除下面的结构:

代码语言:javascript
复制
type Action struct {
    gorm.Model
    Name  string
    Email string
    Halls []Hall `gorm:"foreignKey:ActionID"`
}

type Hall struct {
    gorm.Model
    Name     string
    ActionID uint
    Stream   Stream  `gorm:"foreignKey:HallID"`
}

type Stream struct {
    ID     uint `gorm:"primaryKey"`
    HallID uint
    Name   string
}

db.Select("Halls").Delete(&action) -适用于选定的action和所有相关的halls

如何删除该streams及相关and

类似于:

代码语言:javascript
复制
db.Select("Halls", "Streams").Delete(&action)  
db.Select("Streams").Select("Halls").Delete(action)  

不起作用。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-05-31 18:57:01

您不能在同一查询中同时使用delete和select,这意味着这样做是不可行的,但是您可以使用这个reference link

  • 尝试删除带有where条件的操作并指定HallID

HallID).Delete(&action),

db.Where("hall_id IN ?“

并在流中将HallID设置为constraint:OnDelete:CASCADE,这样当您删除大厅时,无论哪个大厅关联,流都会自动删除

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67717302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档