golang 中的 sqlx - 是否可以映射联接表?
sqlx in golang - Is it possible to map joined tables?
如何在连接表的情况下使用 sqlx struct scan?
例如,假设 Person 有很多 Post,我想获得一个结构,其中将一个人的帖子作为一个切片嵌入其中。
我正在想象这样一个 DTO:
type Person struct {
Id string `json:"id"`
Name string `json:"name"`
Posts []*Post `json:"posts"`
}
type Post struct {
Id string `json:"post_id"`
}
我想使用的SQL是
SELECT
psn.id,
psn.name,
pst.id AS post_id
FROM
person psn
JOIN posts pst ON pst.person_id = psn.id
这在 sqlx 中可以实现吗?怎么样?
Is this accomplishable in sqlx? How?
这不是 sqlx 的特性,它不是 ORM。它只是一个方便的包装器,除其他外,它使选择行到平面结构中变得更加容易。
您要么需要自己处理每个用户的多行,要么进行两次查询,首先针对该人,然后针对他们的帖子。
如何在连接表的情况下使用 sqlx struct scan?
例如,假设 Person 有很多 Post,我想获得一个结构,其中将一个人的帖子作为一个切片嵌入其中。
我正在想象这样一个 DTO:
type Person struct {
Id string `json:"id"`
Name string `json:"name"`
Posts []*Post `json:"posts"`
}
type Post struct {
Id string `json:"post_id"`
}
我想使用的SQL是
SELECT
psn.id,
psn.name,
pst.id AS post_id
FROM
person psn
JOIN posts pst ON pst.person_id = psn.id
这在 sqlx 中可以实现吗?怎么样?
Is this accomplishable in sqlx? How?
这不是 sqlx 的特性,它不是 ORM。它只是一个方便的包装器,除其他外,它使选择行到平面结构中变得更加容易。
您要么需要自己处理每个用户的多行,要么进行两次查询,首先针对该人,然后针对他们的帖子。