2017-07-23 3 views
0

Je commence avec Gorm et essayer de modéliser les éléments suivants:Clé étrangère sur la structure source?

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 
} 

Comme vous pouvez le voir, je veux être en mesure de se référer à la même struct, MyLink à la fois comme un objet étranger calée à partir MyPage mais aussi un un-à-plusieurs de MyLinkSection.

Il semble que je doive déclarer l'ID de clé étrangère dans MyLink ce qui semblerait rendre cela impossible.

Existe-t-il un moyen de configurer des tableaux comme celui-ci? Avec un DB normal, j'aurais juste un champ MyPage appelé my_link_id, avec quelque chose de similaire pour MyLinkSection.

Répondre

0

Il semble qu'il est possible de spécifier les relations avant:

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