Postgresql 使用ORM将任意数据检索到嵌套对象中
我正试图在go中开发一个api,允许用户指定任意数据结构,并根据定义的结构轻松设置在自动生成的postgres数据库上执行CRUD操作的端点 目前,我一直在使用gorm,并且能够基于用户定义的结构集自动生成一个数据库,该结构支持所有类型的关系(具有一对多、一对多等)。当JSON通过端点发送进来时,我还能够插入到生成的数据库中 我发现的问题是当我试图接收数据时。许多go ORM的不足之处似乎是将所有表中的数据映射回父结构的嵌套结构中 例如,如果用户定义:Postgresql 使用ORM将任意数据检索到嵌套对象中,postgresql,go,go-gorm,sqlx,go-pg,Postgresql,Go,Go Gorm,Sqlx,Go Pg,我正试图在go中开发一个api,允许用户指定任意数据结构,并根据定义的结构轻松设置在自动生成的postgres数据库上执行CRUD操作的端点 目前,我一直在使用gorm,并且能够基于用户定义的结构集自动生成一个数据库,该结构支持所有类型的关系(具有一对多、一对多等)。当JSON通过端点发送进来时,我还能够插入到生成的数据库中 我发现的问题是当我试图接收数据时。许多go ORM的不足之处似乎是将所有表中的数据映射回父结构的嵌套结构中 例如,如果用户定义: type Member struct {
type Member struct {
ID string
FirstName string
Hometown Hometown `gorm:"ForeignKey:MemberRefer"`
}
type Hometown struct {
ID string
City string
Province string
MemberRefer string
}
数据库将创建以下表:
成员
- 身份证
- 名字
- 身份证
- 城市
- 省
- 成员(请参阅)
{
"id": "dc2bb591-506f-40a5-a141-bdc0c8410ba1",
"name": "Kevin Krishna",
"hometown": {
"id": "",
"city": "",
"province": ""
}
}
有人知道有一种go orm支持这种行为吗
谢谢5秒谷歌搜索向我展示了答案: 预加载关联 现在您已经将它们正确地关联起来了,您可以.Preload()获取所需的嵌套对象: 数据库预加载(“GoogleAccount”)。第一个(&用户)
非常感谢。是的,当我之前进行研究时,我看到“gorm预加载不支持连接”,并将其解释为连接多个表不起作用。