登录
首页 >  Golang >  Go问答

如何提取 gorm Many to Many 关联的ID列表

来源:stackoverflow

时间:2024-03-03 13:12:23 215浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《如何提取 gorm Many to Many 关联的ID列表》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我有一个场景,两个表之间存在多对多关系,这两个表位于与不同微服务相关的不同数据库中。假设我有表 Post 和 Author。这些表之间存在多对多的关系。但我的作者表存储在另一个数据库中。在我的邮政服务中,我可以获取所有作者的列表。

现在描述多对多关系的表(即 post_authors)位于 Post 服务中。当我使用 db.Find() 和 gorm 关联获取帖子时,我想要一些东西来获取与帖子关联的作者 ID 列表。并且想要在一个查询中执行而不是循环浏览帖子。


解决方案


type post struct {
  id int 
  authors []author `gorm:"many2many: post_authors;"`
 
}

type author struct {
  id int 
}

您可以尝试以下代码

var posts []Post
db.Where("id in (?)" , []int{1,2,3}).Preload("Authors").Find(&posts)

gorm 将加载作者的帖子

今天关于《如何提取 gorm Many to Many 关联的ID列表》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>