当我用嵌套的struct尝试QueryContext函数时,嵌套的结构总是得到空的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函数可以执行sql
谢谢
发布于 2021-08-19 04:40:32
您必须使用go-pg提供的对象关系模型抽象。
如果您有两个这样的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)
}https://stackoverflow.com/questions/66851728
复制相似问题