我有某种虚拟文件系统 . 文件夹列表,每个文件夹包含文件和ACL . 所以结构看起来像这样:
type Model struct {
ID uint `gorm:"primary_key" json:"id"`
}
type User struct {
Model
Name string
}
type Folder struct {
Model
Name string
}
type File struct {
Model
Name string
FolderID uint
Folder Folder
Acl []User `json:"acl" gorm:"many2many:file_acl"`
}
它来自前端作为完整的JSON . 它被解构了 . 当我调用 Save(&file)
它正确存储File时,接下来会发生什么,在 file_acl
中创建记录 .
它还更新文件夹和用户 .
这是我的问题 - 如何跳过这些依赖更新但保留自动生成的查询以更新/插入 file_acl
表?
2 回答
我想你可能想要
db.Set("gorm:save_associations", false).Save(...)
要防止级联更新,您应该使用
association_autoupdate
选项 .