我正在使用Go和sqlx编写列表端点。该端点还可以使用过滤器。
我想获取帖子及其相关附件的列表。
我正在努力弄清楚如何做到这一点。
这是我的Post
模型的一小段,我正在尝试获取Post
的一部分。
type Post struct {
ID int `db:"id"`
// ...
Attachments []*Attachment
}
这里是Attachment
type Attachment struct {
ID int `db:"id"`
// ...
}
我已经可以正常使用getOne端点了-
我只需要执行一个简单的Select查询即可按id获取帖子,并获取关联的附件,我只是将attachments
和posts_attachments
进行了连接。
不幸的是,当每个帖子可以包含0个或多个0个附件时,我正在努力弄清楚如何获得带有附件的帖子列表。
是否容易做到这一点?我只是在寻找有关如何从列表部分开始的提示,因为我知道如何获得列表,而不是如何获得很多。
我得到的一种方法是:
获取帖子列表。
对于该列表中的每个id,请执行附件查找,如果有> 0,则将其附加到该帖子项目的附件字段中。
但是,这不好吗?看起来太容易了,但是也很业余,因为它每个项目都要进行很多次查找(每次查找最多只能有50个结果)。 :(