golang中与gorm的一对多关系不起作用

时间:2017-01-06 12:35:33

标签: mysql rest go go-gorm

所以我有两张桌子

type Person struct {
ID int
FirstName string
LastName string
Functions []Function
}
type Function struct {
gorm.Model
Info string
Person Person
}

现在我创建这样的表

db.AutoMigrate(&models.Person{}, &models.Function{})

在此之后我启动db

user := models.Person{
    FirstName:            "Isa",
    LastName:  "istcool",
    Functions:          []models.Function{{Info: "Trainer"}, {Info: "CEO"}},
}
db.Create(&user)

现在问题是我的Person表只有Firstname和Lastname列,而我的Function表只有info列。 但是,当我开始我的GET请求时,我会得到具有列函数的人,该函数始终为null。

http://imgur.com/74RU2Va(来自我的GET请求和我的数据库的屏幕截图) 要查看我的整个程序,请访问我的github repo: https://github.com/Gnadlinger/SpommunicateBackend.git

1 个答案:

答案 0 :(得分:1)

终于找到了答案!! 问题是我必须使用的GET功能

db.Preload("Functions").Find(&[]models.Person{})

而不是

db.Find(&[]models.Person{})