与GORM自身的关系

问题描述 投票:0回答:1

我想通过GORM将实体与其自身相关联我试过了:

type project struct {
    gorm.Model
    Name     string
    ParentID uint
    projects []project `gorm:"foreignkey:ParentID,association_foreignkey:ID"`
}
    db.Create(&project{Name: "parent", ParentID: 0})
    db.Create(&project{Name: "child", ParentID: 1})
    db.Create(&project{Name: "child1", ParentID: 1})
    var project Project
    var projects []Project
    db.First(&project)
    db.Model(&project).Related(&projects)

但这是错误:

invalid association [] 

我想要的结果是:

{Name:"parent",
    projects:[
        {Name:"child",projects:[]},
        {Name:"child1",projects:[]}
             ]
}

而且我想提一下,我是golang的新手:)

go gorm go-gorm
1个回答
0
投票

projects标签更改为此-gorm:"foreignkey:ParentID"。要让其中有孩子的父母使用:db.Preload("projects").First(&project)

© www.soinside.com 2019 - 2024. All rights reserved.