gpt4 book ai didi

postgresql - 如何处理与 gorp 的连接?

转载 作者:IT王子 更新时间:2023-10-29 01:11:22 26 4
gpt4 key购买 nike

在我的一个爱好项目中,我有一个这样的结构:

type Resource struct {
Id int
ParentIds []int
Title string
Contents []byte
Resources []Resource
}

每个资源都可能有一些子资源([]Resource)。我想开始使用查询到结构的映射器,例如 gorp ,但我不知道如何映射这样的查询

SELECT r.Id, r.Title, r.Contents
FROM Resources r
LEFT OUTER JOIN Resources sub ON sub.ParentIds @> ARRAY[r.Id]::integer[]

任何人都可以创建一个最小的工作示例或向我指出相关文档吗?也许 gorp 不是这项工作的正确工具?如果有更好的选择,我也愿意接受建议。谢谢你。

最佳答案

https://github.com/go-gorp/gorp 的 gorp 自述文件中有一个连接示例.我认为没有任何内置方法可以像您所做的那样将单独的表放入数组中。

其中 InvoicePersonView 是保存查询结果的结构。

// Run your query
query := "select i.Id InvoiceId, p.Id PersonId, i.Memo, p.FName " +
"from invoice_test i, person_test p " +
"where i.PersonId = p.Id"

// pass a slice to Select()
var list []InvoicePersonView
_, err := dbmap.Select(&list, query)

// this should test true
expected := InvoicePersonView{inv1.Id, p1.Id, inv1.Memo, p1.FName}
if reflect.DeepEqual(list[0], expected) {
fmt.Println("Woot! My join worked!")
}

关于postgresql - 如何处理与 gorp 的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23412343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com