Gorm预加载嵌套结构 类型主体结构{ 默认值 Foo字符串 棒串 Baz int64 Struct1 MyStruct1`gorm:“外键:主结构ID”` } 键入MyStruct1 struct{ 默认值 主结构ID int64`json:“-”` ID1 int64`json:“-”` ID2 int64`json:“-”` MyDefault1 MyStruct2`gorm:“foriegnkey:ID;关联\u foreignkey:ID1”` MyDefault2 MyStruct2`gorm:“foriegnkey:ID;关联\u foreignkey:ID2”` } 键入MyStruct2 struct{ 默认值 字段1字符串 字段2字符串 字段3字符串 }
考虑到上述结构,我想做一些与Gorm预加载嵌套结构 类型主体结构{ 默认值 Foo字符串 棒串 Baz int64 Struct1 MyStruct1`gorm:“外键:主结构ID”` } 键入MyStruct1 struct{ 默认值 主结构ID int64`json:“-”` ID1 int64`json:“-”` ID2 int64`json:“-”` MyDefault1 MyStruct2`gorm:“foriegnkey:ID;关联\u foreignkey:ID1”` MyDefault2 MyStruct2`gorm:“foriegnkey:ID;关联\u foreignkey:ID2”` } 键入MyStruct2 struct{ 默认值 字段1字符串 字段2字符串 字段3字符串 },go,go-gorm,Go,Go Gorm,考虑到上述结构,我想做一些与 baseVersion主结构 db.Where(“ID=?”,myInputID).Preload(“Struct1”)。 预加载(“Struct1.MyDefault1”)。 预加载(“Struct1.MyDefault2”)。 第一个(&baseVersion) 我目前面临的问题是,我根本无法从struct2中获取数据。我认为这是Struct1中创建关联的gorm注释的问题。。。但我不确定到底出了什么问题 无论我如何尝试让预加载od MyDefault1和My
baseVersion主结构
db.Where(“ID=?”,myInputID).Preload(“Struct1”)。
预加载(“Struct1.MyDefault1”)。
预加载(“Struct1.MyDefault2”)。
第一个(&baseVersion)
我目前面临的问题是,我根本无法从struct2中获取数据。我认为这是Struct1中创建关联的gorm注释的问题。。。但我不确定到底出了什么问题
无论我如何尝试让预加载od MyDefault1和MyDefault2进入。我总是会遇到一个无法预加载的错误。我猜gorm注释并不完全正确。。。但它似乎遵循着这个模式,所以我不确定现在该看什么 - MyStruct1中有一个拼写错误:
→ <代码>外键foriegnkey
的标记值中有一个额外的空格MyStruct1
type MyStruct1 struct {
Model
MainStructID int64 `json:"-"`
ID1 int64 `json:"-"`
ID2 int64 `json:"-"`
MyDefault1 MyStruct2 `gorm:"foreignkey:ID;association_foreignkey:ID1"`
MyDefault2 MyStruct2 `gorm:"foreignkey:ID;association_foreignkey:ID2"`
}