我从Gorm开始,尝试建立以下模型:

type MyLink struct {
    gorm.Model
    Title             string
    Url               string
}

// group of links under a single title
type MyLinkSection struct {
    gorm.Model
    Title string
    Links []MyLink
}

type MyPage struct {
    gorm.Model
    PageUrl     MyLink
    Artists     []MyLinkSection
}

如您所见,我希望能够引用相同的结构MyLink作为MyPage中的外键对象,也可以作为一对一的MyLinkSection中对象。

看来我必须在MyLink中声明外键ID,这似乎无法实现。

有什么办法可以建立这样的表吗?对于普通的数据库,我只需要在MyPage中创建一个名为my_link_id的字段,并为MyLinkSection设置一个类似的字段。

最佳答案

似乎可以指定正向关系:

PageUrl       MyLink `gorm:"ForeignKey:PageUrlId"`
PageUrl Id    uint

10-01 02:45