我有三个实体-公司,用户,访问组。我需要将用户访问权限限制为具有访问组的公司。
用户和访问组数量很多,公司和访问组数量很多。
例如,用户' Murphy '与访问组' Detroit '和' Delta-City 和公司'有关联OCP ”与访问组“底特律”相关。
如何提取与用户具有相同访问组的公司?
答案 0 :(得分:1)
我找到了解决方案,应该使用TypeORM查询生成器。
首先,获取与用户相关的访问组ID。
例如,假设用户 Murphy 包含在agIds: [1, 2]
的访问组中。
然后,我们可以使用该查询获取用户有权访问的所有公司:
this.companiesRepository.createQueryBuilder('company')
.innerJoin('company.accessgroups', 'accessgroup', 'accessgroup.id IN (:...ids)', {ids: agIds})
.getMany();