douyu0845 2017-01-06 12:35
浏览 243
已采纳

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

So i got two tables

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

Now I create the tables like this

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

After this I init the db

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

Now the problem is that my Person table only got Firstname and Lastname column and my Function table only got info column. But when I start my GET request I get people with the column function which is always null.

http://imgur.com/74RU2Va (A screenshot from my GET request and my db) To see my whole programm visit my github repo: https://github.com/Gnadlinger/SpommunicateBackend.git

  • 写回答

1条回答 默认 最新

  • doudu5029 2017-01-08 20:53
    关注

    Finally found the answer!! The problem is my GET functions I have to use

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

    instead of

    db.Find(&[]models.Person{})
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)