首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理与gorp的连接?

如何处理与gorp的连接?
EN

Stack Overflow用户
提问于 2014-05-02 00:48:36
回答 1查看 839关注 0票数 3

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

代码语言:javascript
复制
type Resource struct {
    Id int
    ParentIds []int
    Title string
    Contents []byte
    Resources []Resource
}

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

代码语言:javascript
复制
SELECT r.Id, r.Title, r.Contents
FROM Resources r
LEFT OUTER JOIN Resources sub ON sub.ParentIds @> ARRAY[r.Id]::integer[]

有没有人可以创建一个最小的工作示例,或者给我一个相关的文档?也许gorp不是适合这项工作的工具?如果有更好的选择,我也乐于接受建议。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-07-24 14:56:44

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

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

代码语言:javascript
复制
// 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!")
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23412343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档