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

标签 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{})

然后我初始化数据库:

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

现在的问题是我的 Person 表只有 FirstnameLastname 列,而我的 Function 表只有得到 Info 列。 但是当我开始我的 GET 请求时,我得到的人的列函数总是空的。

Here is a screenshot from my GET request and my db

要查看代码,请访问我的 GitHub repo

最佳答案

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

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

代替

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

关于mysql - 在 golang 中与 gorm 的一对多关系不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41505884/

相关文章:

python - 将带有整数和字符串的 unicode 列表编码为 UTF-8/比较两个字符串

django - 测试 REST 访问是否必要/好?

angularjs - REST 乐观锁定和多个 PUT

go - 字符串的反向 slice

mysql - 在 where 子句中使用两组条件

php - php hiphop支持哪个mysql库?

xml - 使用 Go 读取 XML 元素的内部文本

arrays - Go语言中的结构体数组

php - Joomla 中的 mysql 下一个和 orderby 中的上一个 SQL 语句

api - Restful api 身份验证与 oauth2 混淆