我正在嘗試開(kāi)發(fā)一個(gè) api,以允許用戶(hù)指定任意數(shù)據(jù)結(jié)構(gòu),并根據(jù)他們定義的結(jié)構(gòu)輕松設(shè)置在自動(dòng)生成的 postgres 數(shù)據(jù)庫(kù)上執(zhí)行 CRUD 操作的端點(diǎn)。目前,我一直在使用 gorm,并且能夠根據(jù)一組用戶(hù)定義的結(jié)構(gòu)自動(dòng)生成一個(gè)數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)支持所有類(lèi)型的關(guān)系(有一個(gè)、一對(duì)多等)。當(dāng)通過(guò)端點(diǎn)發(fā)送 JSON 時(shí),我還能夠插入到生成的數(shù)據(jù)庫(kù)中。我發(fā)現(xiàn)的問(wèn)題是當(dāng)我嘗試接收數(shù)據(jù)時(shí)。似乎許多 go ORM 的不足之處在于將所有表中的數(shù)據(jù)映射回父結(jié)構(gòu)的嵌套結(jié)構(gòu)。例如,如果用戶(hù)定義:type Member struct { ID string FirstName string Hometown Hometown `gorm:"ForeignKey:MemberRefer"`}type Hometown struct { ID string City string Province string MemberRefer string}數(shù)據(jù)庫(kù)創(chuàng)建表:成員ID名家鄉(xiāng)ID城市省member_refer但是,在檢索數(shù)據(jù)時(shí),映射回來(lái)的只是:{ "id": "dc2bb591-506f-40a5-a141-bdc0c8410ba1", "name": "Kevin Krishna", "hometown": { "id": "", "city": "", "province": "" }}有誰(shuí)知道支持這種行為的 go orm?
1 回答

慕萊塢森
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
5 秒谷歌搜索向我展示了答案:
預(yù)加載關(guān)聯(lián)
現(xiàn)在您實(shí)際上已將它們正確關(guān)聯(lián),您可以 .Preload() 獲取所需的嵌套對(duì)象:db.Preload("GoogleAccount").First(&user)
- 1 回答
- 0 關(guān)注
- 143 瀏覽
添加回答
舉報(bào)
0/150
提交
取消