簡體   English   中英

如何為嵌套結構運行 go-pg orm QueryContext function?

[英]How do I run go-pg orm QueryContext function for nested struct?

當我嘗試使用嵌套structQueryContext function 時,嵌套結構總是得到空struct 我如何解決這個問題?

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 function 可以做到sql

謝謝

您必須使用go-pg提供的 ORM model 抽象。

如果你有兩個像這樣的structs

type User struct {
    Firstname    *string    `json:"firstname" sql:",notnull"`
    Lastname     *string    `json:"lastname" sql:",notnull"`
}

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

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

pgdb := pg.Connect(......)
models := []TestUser{}

err =pgdb.Model(&models).Relation("User").Select()
if err != nil {
    log.fatal(err)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM