golang 中的 sqlx - 是否可以映射联接表?

在连接表的情况下如何使用 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 中可以实现吗?如何?


慕侠2389804
浏览 74回答 1
1回答

四季花海

这在 sqlx 中可以实现吗?如何?这不是 sqlx 的特性,它不是 ORM。它只是一个方便的包装器,除其他外,它可以更轻松地将行选择到平面结构中。您要么需要自己处理每个用户的多行,要么进行两次查询,首先针对该人,然后针对他们的帖子。
打开App,查看更多内容
随时随地看视频慕课网APP