[英]How can I querying a subfield in nested structures in go-pg (Postgres ORM with Go)?
[英]How do I run go-pg orm QueryContext function for nested struct?
當我嘗試使用嵌套struct
的QueryContext
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.