如 一个 server 有 多个screen
结构体定义如下
server
type Media struct {
ID int `gorm:"column:id;primaryKey;AUTO_INCREMENT;comment:'主键,信号源ID'"`
...
MediaScreens []MediaScreen `gorm:"foreignKey:ServerID;"`
MediaPrograms []MediaProgram `gorm:"foreignKey:ServerID;"`
screen
// MediaScreen 媒体服务器屏幕表
type MediaScreen struct {
ID int `gorm:"column:id;primaryKey;AUTO_INCREMENT;comment:'主键ID'"`
ServerID int `gorm:"column:server_id;type:int(11);comment:'服务器ID'"`
...
删除时,想要级联删除 下面这个代码不行 ,server 删除了 ,但是他的儿子 screen 都还在数据库里保留着
改成如下代码就可以了
查了下官网 ,上面有写
https://gorm.io/zh_CN/docs/associations.html#Association-Mode