TypeOrm:引用多对多链接的正确方法

时间:2019-07-12 22:12:45

标签: orm relational-database typeorm

我有以下数据模型: enter image description here

这描述了两个ManyToMany关系,每个关系通过联接/数据透视表分解为两个OneToMany。

  • 用户可以属于许多组
  • 一个网上论坛可以有很多用户
  • 一个论坛可以拥有许多帖子
  • 帖子可以有多个群组(即这些群组可以访问 帖子)

直接检索基本关系就足够了。 即获取包含用户

的所有组

类似:

  const groups = await this.userGroupRepository.find({
  join: {
    alias: 'userGroup',
    leftJoinAndSelect: {
      team: 'userGroup.group',
    },
  },
  where: {
    userId: id,
  },
});

   const test = await this.groupRepository
  .createQueryBuilder('group')
  .leftJoinAndSelect('group.userGroup', 'tm')
  .getMany();

我正在努力连接嵌套子实体的地方。
基本上,我想给定一个user_id来列出该用户所属的所有组,以及列出每个组中的所有用户。

相反,给定一个postID,以列出与该帖子相关的所有群组

略微扩展:给定一个userId,列出(通过组)用户有权访问的所有帖子。

如果有人可以向我指出如何调整typeORM查询的正确方向(使用find或createQueryBuilder),将不胜感激。

0 个答案:

没有答案