gpt4 book ai didi

go - Gorm预紧嵌套结构

转载 作者:行者123 更新时间:2023-12-01 22:28:01 25 4
gpt4 key购买 nike

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取回数据。我认为这是Struct1中创建关联的gorm批注的问题...但是我不确定这是什么错误。

不管我如何尝试使MyDefault1和MyDefault2的Preload进入。无论如何,我总是遇到一个错误,提示它无法预加载。我的猜测是gorm注释并不完全正确...但是它似乎遵循了该模式,因此我不确定现在要看什么。

最佳答案

  • MyStruct1中有一个拼写错误:foriegnkeyforeignkey
  • MyStruct1的标记值中有多余的空格。

  • 这些原因使Gorm无法分析 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"`
    }

    关于go - Gorm预紧嵌套结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58587949/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com