2 回答

TA贡献1936条经验 获得超7个赞
type Group struct {
ID uuid.UUID `gorm:"PrimaryKey" json:"id"`
Name string `json:"name"`
Sessions []Session `gorm:"foreignKey:GroupID" json:"sessions"
}
type Session struct {
ID uuid.UUID `gorm:"PrimaryKey"`
GroupID uuid.UUID `gorm:"foreignKey:ID"`
Name string
From time.Time
To time.Time
}
这应该修复它,引用从 ID 更改为 GroupID

TA贡献2041条经验 获得超4个赞
如果这是您的数据库架构设计,它应该是这样的。
type Group struct {
ID uuid.UUID `gorm:"primaryKey"`
Name string `gorm:"column:name"`
}
type Session struct {
ID uuid.UUID `gorm:"primaryKey"`
GroupID uuid.UUID `gorm:"column:group_id"
Group Group `gorm:"foreignKey:ID"`
Name string `gorm:"column:name"`
From time.Time `gorm:"column:from"`
To time.Time `gorm:"column:to"`
}
type Player struct {
ID uuid.UUID `gorm:"primaryKey"`
Username string `gorm:"column:username;type:varchar;NOT NULL"`
Cookie string `gorm:"column:cookie"`
SessionID uuid.UUID `gorm:"column:session_id"`
GroupID uuid.UUID `gorm:"column:group_id"`
Sessions []Session `gorm:"many2many:players_sessions;foreignKey:SessionID;references:ID;"`
Groups []Group `gorm:"many2many:players_groups;foreignKey:GroupID;references:ID;"`
}
- 2 回答
- 0 关注
- 447 浏览
添加回答
举报