关联在golang或sql中有很多

时间:2019-09-16 15:20:49

标签: sql go associations go-gorm

我正在尝试创建gorm中有很多数据的数据,但是在创建完之后,我以为我已经提出了正确的请求,就像结构彼此关联一样,我得到了空结果

它没有错误,但是结果不像我希望的那样

Clone struct {
    ID         uint         `gorm:"auto_increment;primary_key" json:"id"`
    UpdatedAt  time.Time    `gorm:"type:timestamp" default:"CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP" json:"updated_at"`
    PersonID   uint         `json:"person_id"`
    Person     *Person      `gorm:"foreignkey:PersonID;association_foreignkey:id" json:"person"`
    Types      []*ColorType  `gorm:"foreignkey:CloneID;association_foreignkey:id" json:"types"`
    Skills     []*CloneSkill `gorm:"foreignkey:CloneID;association_foreignkey:id" json:"skills"`
    ProviderID uint         `gorm:"REFERENCES providers;index" json:"provider_id"`
}

这里是我的克隆技能和类型sturct:

    CloneType struct {
        ID           uint   `gorm:"auto_increment;primary_key" json:"id"`
        CloneTypeName string `gorm:"size:20" json:"maid_type"`
        CLoneID       uint   `gorm:"REFERENCES clones;index" json:"clone_id"`
    }

    CloneSkill struct {
        ID     uint   `gorm:"auto_increment;primary_key" json:"id"`
        Skill  string `gorm:"size:30" json:"skill"`
        CloneID uint   `gorm:"REFERENCES clones;index" json:"clone_id"`
    }

让我解释一下,我有一个具有以下角色的人员:“克隆,客户,提供者” 提供程序有很多克隆,而克隆只有一个提供程序

如果是SQL表示

Clone has many types and skills

个人是本案的主要实体, 我在这里要求在提供者请求时创建克隆,  我的请求正文与那些Clone stuct非常相似,

但是创建完它之后,它只会创建Person,Provider和Clone,而不会创建CloneType和CloneSkills的实体

我想念什么或我的同事有错吗?

如果您基于SQL, 您如何为这些实体设计

人员具有角色克隆,提供者,客户端 克隆有提供者 提供者有很多克隆 克隆有很多类型 克隆有很多技能

在sql这样的数据库中

Person : name, email, 
Clone : person_id, provider_id
Provider: person_id 
Clone_Skill : skill, clone_id 
Clone_Type: type, clone_id

0 个答案:

没有答案