我正在尝试开发一个 api,以允许用户指定任意数据结构,并根据他们定义的结构轻松设置在自动生成的 postgres 数据库上执行 CRUD 操作的端点。目前,我一直在使用 gorm,并且能够根据一组用户定义的结构自动生成一个数据库,该数据库支持所有类型的关系(有一个、一对多等)。当通过端点发送 JSON 时,我还能够插入到生成的数据库中。我发现的问题是当我尝试接收数据时。似乎许多 go ORM 的不足之处在于将所有表中的数据映射回父结构的嵌套结构。例如,如果用户定义:type Member struct { ID string FirstName string Hometown Hometown `gorm:"ForeignKey:MemberRefer"`}type Hometown struct { ID string City string Province string MemberRefer string}数据库创建表:成员ID名家乡ID城市省member_refer但是,在检索数据时,映射回来的只是:{ "id": "dc2bb591-506f-40a5-a141-bdc0c8410ba1", "name": "Kevin Krishna", "hometown": { "id": "", "city": "", "province": "" }}有谁知道支持这种行为的 go orm?
1 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
5 秒谷歌搜索向我展示了答案:
预加载关联
现在您实际上已将它们正确关联,您可以 .Preload() 获取所需的嵌套对象:db.Preload("GoogleAccount").First(&user)
- 1 回答
- 0 关注
- 108 浏览
添加回答
举报
0/150
提交
取消