GORM中的一对多递归关系

dem*_*mas 3 go go-gorm

我需要有一个Organization与父级有关系的。像这样的东西:

type Organization struct {

    gorm.Model

    Parent *Organization `gorm:"ForeignKey:ParentId"`
    Name string `gorm:"size:30"`
    Description string `gorm:"size:100"`
}
Run Code Online (Sandbox Code Playgroud)

我想要有ParentId一个将引用id同一个表中的字段的字段。但据我所知,没有字段和关系。

我该如何解决它?

dem*_*mas 5

我已经这样解决了,但我不确定这是正确的方法:

type Organization struct {

    gorm.Model

    Parent *Organization
    ParentId int `gorm:"TYPE:integer REFERENCES organizations"`
    Name string `gorm:"size:30"`
    Description string `gorm:"size:100"`
}
Run Code Online (Sandbox Code Playgroud)