GORM 中的一对多递归关系

One-to-many recursive relationship in GORM

我需要一个与父项有关的 Organization。像这样:

type Organization struct {

    gorm.Model

    Parent *Organization `gorm:"ForeignKey:ParentId"`
    Name string `gorm:"size:30"`
    Description string `gorm:"size:100"`
}

我想要 ParentId 字段,该字段将引用同一 table 中的 id 字段。但正如我所见,没有字段和关系。

我该如何解决?

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

type Organization struct {

    gorm.Model

    Parent *Organization
    ParentId int `gorm:"TYPE:integer REFERENCES organizations"`
    Name string `gorm:"size:30"`
    Description string `gorm:"size:100"`
}