实体协会与一对一的关系与自身



我使用Gorm在Golang中建立模型关联,并且我有一个名为 category 的结构。一个类别可以有很多子类别,并且可能具有父母类别:

type Category struct {
 Name string `json:"name"`
 Parent Category `json:"parent_category"`
 ParentGroupID uint `json:"parent_group_id"`
 Children []Category `json:"children_categories"`
}

对于此结构,我遇到了无效的递归类型类别的错误。我检查了GORM文档,但在那里找不到任何有用的东西。有什么想法如何用Gorm建模这种关系?

您必须将Parent声明为*Category(Category指针(,而不是Category

type Category struct {
 Name string `json:"name"`
 Parent *Category `json:"parent_category"`
 ParentGroupID uint `json:"parent_group_id"`
 Children []Category `json:"children_categories"`
}

编译器如何知道Parent的大小。指针的大小是已知的,但是包含自己的东西有多大?(并且内部结构也包含自身,内部结构等等。(

参考:https://stackoverflow.com/a/8261789/4794989

相关内容

  • 没有找到相关文章

最新更新