首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为嵌套结构运行go-pg orm QueryContext函数?

如何为嵌套结构运行go-pg orm QueryContext函数?
EN

Stack Overflow用户
提问于 2021-03-29 17:28:22
回答 1查看 80关注 0票数 0

当我用嵌套的struct尝试QueryContext函数时,嵌套的结构总是得到空的struct。我该怎么解决这个问题?

代码语言:javascript
复制
type User struct {
    Firstname    *string    `json:"firstname" sql:",notnull"`
    Lastname     *string    `json:"lastname" sql:",notnull"`
}

type TestUser struct {
    User *User `json:"user"`
}

query := `
SELECT
users.firstname,
users.lastname
FROM
    test_users
    LEFT JOIN (
        SELECT
        id, firstname, lastname
        FROM
            users
    ) users ON users.id = test_users.user_id
LIMIT 1
`

models := []TestUser{}
_, _ := conn.QueryContext(ctx, &models, query)
    return models, nil

如果使用go-pg orm不能做到这一点,是否有任何orm函数可以执行sql

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-08-19 04:40:32

您必须使用go-pg提供的对象关系模型抽象。

如果您有两个这样的structs

代码语言:javascript
复制
type User struct {
    Firstname    *string    `json:"firstname" sql:",notnull"`
    Lastname     *string    `json:"lastname" sql:",notnull"`
}

type TestUser struct {
    User *User `json:"user"`
}

然后,您可以使用.Model填充models切片

代码语言:javascript
复制
pgdb := pg.Connect(......)
models := []TestUser{}

err =pgdb.Model(&models).Relation("User").Select()
if err != nil {
    log.fatal(err)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66851728

复制
相关文章

相似问题

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