gpt4 book ai didi

go - 在 GORM 中与它自身的关系

转载 作者:行者123 更新时间:2023-12-01 22:24:12 25 4
gpt4 key购买 nike

我想用 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的新手:)

最佳答案

更改您的 projects标记到这个 - gorm:"foreignkey:ParentID"并公开该领域本身。要让有 child 的 parent 在其中做:

p := &project{}
err := db.Where("name = 'parent'").
Preload("Projects").
First(p).Error

关于go - 在 GORM 中与它自身的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61079993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com