type MainStruct struct {
Defaults
Foo string
Bar string
Baz int64
Struct1 MyStruct1 `gorm:"foreignkey:MainStructID"`
}
type MyStruct1 struct {
Defaults
MainStructID int64 `json:"-"`
ID1 int64 `json:"-"`
ID2 int64 `json:"-"`
MyDefault1 MyStruct2 `gorm: "foriegnkey:ID;association_foreignkey:ID1"`
MyDefault2 MyStruct2 `gorm: "foriegnkey:ID;association_foreignkey:ID2"`
}
type MyStruct2 struct {
Defaults
Field1 string
Field2 string
Field3 string
}
Учитывая приведенные выше структуры, я хочу сделать что-то вроде
baseVersion MainStruct
db.Where("ID = ?", myInputID).Preload("Struct1").
Preload("Struct1.MyDefault1").
Preload("Struct1.MyDefault2").
First(&baseVersion)
Проблема, с которой я сталкиваюсь в настоящее время, заключается в том, что я не получаю данные отstruct2 вообще. Я думаю, что это проблема с аннотацией gorm в Struct1, создающей ассоциацию ... но я не уверен, что не так.
Независимо от того, как я пытался заставить Preload od MyDefault1 и MyDefault2 войтиЯ всегда получаю сообщение об ошибке, что он не может предварительно загрузить. Я предполагаю, что аннотации Гормона не совсем правильны ... но, похоже, они следуют шаблону, поэтому я не уверен, что посмотреть сейчас.