Go Gorm 不显示数据有很多
Go Gorm not showing data for has many
我正在使用 http://gorm.io/docs/has_many.html 在一个团队拥有的 table 中创建多个条目。
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:"-"`
}
然后,我在团队 table 中创建一个条目,如下所示:
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} Some Name { false} 0 0 0 [ ] 0 0 0 false}
现在,我可能会在此 post 中省略一些有关团队结构的信息,但无论如何,即使相关信息是在table.
[ ] 始终为空,我期待 TeamCoin 信息。
您可能应该链接您的预加载,以获取您需要编写的所有关联
r.db.Preload("PayingMember").Preload("Teamcoins").Find(&t).Error
我正在使用 http://gorm.io/docs/has_many.html 在一个团队拥有的 table 中创建多个条目。
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:"-"`
}
然后,我在团队 table 中创建一个条目,如下所示:
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} Some Name { false} 0 0 0 [ ] 0 0 0 false}
现在,我可能会在此 post 中省略一些有关团队结构的信息,但无论如何,即使相关信息是在table.
[ ] 始终为空,我期待 TeamCoin 信息。
您可能应该链接您的预加载,以获取您需要编写的所有关联
r.db.Preload("PayingMember").Preload("Teamcoins").Find(&t).Error