【问题标题】:Go Gorm not showing data for has manyGo Gorm 没有显示数据有很多
【发布时间】:2018-07-27 15:14:47
【问题描述】:

我正在使用http://gorm.io/docs/has_many.html 在一个表中创建多个条目,这些条目由另一个团队拥有。

Team struct {
    ID             int64         `gorm:"primary_key" json:"Id"`
    PayingMemberID sql.NullInt64 `json:"PayingMemberId,int64"`
    PayingMember   *User
    Name           string `json:"Name"`

    Teamcoins          []Teamcoin `gorm:"foreignkey:TeamID"`
}

Teamcoin struct {
    ID     int64 `gorm:"primary_key" json:"Id"`
    Team   Team
    TeamID int64

    PeriodYear  int
    PeriodMonth int

    Coin int `json:"-"`
}

然后,我在 Team 表中创建一个条目,如下所示:

teamcoin := Teamcoin{
    PeriodYear:        2018,
    PeriodMonth:       2,
    Coin:              12,
}

team := Team{
    Name : "Some Name",
    Microcoins: []Teamcoin{teamcoin},
}

正如预期的那样,结果创建了一个带有 ID 的团队条目。 当我运行下一段代码以获取所有团队的信息时:

var t []Team
err := r.db.Preload("PayingMember").Find(&t).Error

我显示 t,我得到: {530071983 {0 false} 某个名字 { false} 0 0 0 [ ] 0 0 0 false}

现在,我可能会在这篇文章中省略一些关于团队结构的信息,但无论如何,即使相关信息是在表格中创建的,我也永远无法显示相关 TeamCoins 的信息。

[ ] 始终为空,我期待 TeamCoin 信息。

【问题讨论】:

    标签: go go-gorm


    【解决方案1】:

    您可能应该链接您的预加载,以获取您需要编写的所有关联

    r.db.Preload("PayingMember").Preload("Teamcoins").Find(&t).Error

    【讨论】:

      猜你喜欢
      • 2021-12-28
      • 2020-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-03
      • 2021-10-27
      • 1970-01-01
      • 2018-10-09
      相关资源
      最近更新 更多