我正在尝试使用gorm和自定义表实现两个模型之间的连接。在此自定义表中,我想存储有关连接模型的额外信息。
根据文档,我有以下内容,
func init() {
database.DB.SetupJoinTable(&Foo{}, "Bar", &FooBar{})
}
type Foo struct {
UUID uuid.UUID `json:"uuid" gorm:"type:uuid;primaryKey;"`
SomeValue string `json:"someValue"`
Bars []Bar `json:"bars" gorm:"many2many:foo_bars"`
}
type Bar struct {
UUID uuid.UUID `json:"uuid" gorm:"type:uuid;primaryKey;"`
SomeValue string `json:"someValue"`
}
type FooBar struct {
FooUUID uuid.UUID `json:"foo" gorm:"primaryKey"`
BarUUID uuid.UUID `json:"bar" gorm:"primaryKey"`
ExtraValue string `json:"extraValue"`
}
正如我所期望的那样,上面创建了一个架构。问题是在尝试保留此关系并将所需的额外数据设置为 时。这些文档提供了有关将关系直接从 Foo 追加到 Bar 的文档,但不会将数据添加到此自定义表中。FooBar
文档指出:
JoinTable可以是一个功能齐全的模型
所以我希望这是可能的。
使用gorm可以做到这一点吗?
如何创建和保存此关系以及其他信息?
慕的地8271018
相关分类