代码之家  ›  专栏  ›  技术社区  ›  Trody

Go Gorm不显示的数据有很多

  •  0
  • Trody  · 技术社区  · 7 年前

    我正在使用 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:"-"`
    }
    

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

    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 false}

    现在,我可能在这篇文章中省略了一些关于团队结构的信息,但无论如何,我从来没有显示过相关TeamCoins的信息,即使相关信息是在表中创建的。

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

    1 回复  |  直到 7 年前
        1
  •  1
  •   ttomalak    7 年前

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

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