принадлежать себе в горм - PullRequest
       40

принадлежать себе в горм

0 голосов
/ 03 декабря 2018

Я пытаюсь установить отношение принадлежности к одной и той же таблице.Но я не могу добиться успеха.Я не нашел в интернете легко понятных примеров.

type Role struct {
    gorm.Model

    Name string
    Description string
    Inclusive bool

    Controller *Role `gorm:"foreignkey:controller;association_foreignkey:id"`
    SupervisedRoles []*Role `gorm:"foreignkey:Controller"`
    Permissions []*Permission
}

func (r *Role) GetController() (*Role, error) {
    controller := &Role{}
    return controller, db.DB.Model(r).Related(controller).Error
}

func (r *Role) GetSupervisedRoles() ([]*Role, error) {
    roles := []*Role{}

    return roles, db.DB.Model(r).Related(roles).Error
}

В моей таблице поле «контроллер» представляет собой обнуляемый внешний ключ, который ссылается на еще одно вхождение моей таблицы «ролей».

Как мне реализовать это с помощью GORM?

...