我正在尝试使用golang gorm在(我的)sql表中创建一个自引用 . 目前我的代码看起来像这样:
type Person struct {
gorm.Model
Name string
Children []*Person `gorm:"ForeignKey:ParentID"`
ParentID uint
}
func main() {
/* code to get database connection omitted */
p := &Person{Name:"Sally"}
db.Create(p)
children := []*Person{ {Name:"Jane", ParentID:p.ID},
{Name:"Tom", ParentID:p.ID}}
for _, child := range children {
db.Create(child)
}
var children2 []*Person
db.Model(p).Related(children2, "ParentID")
}
代码失败,出现错误“reflect.Value.Set using unaddressable value” .
有人知道如何使用go gorm来 Build 这种关系吗?
提前谢谢了 :)
1 回答
幸运的是,gorm最近添加了这个功能(参考:here) .
在你的情况下应该是这样的: