【问题标题】:How can I fetch only ID list in gorm many2many associations如何在 gorm many2many 关联中仅获取 ID 列表
【发布时间】:2020-11-20 03:53:43
【问题描述】:

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

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

【问题讨论】:

    标签: postgresql go microservices go-gorm


    【解决方案1】:
    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 将加载带有作者的帖子

    【讨论】:

      猜你喜欢
      • 2021-02-28
      • 2019-12-30
      • 2021-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 2023-03-04
      • 1970-01-01
      相关资源
      最近更新 更多