使用查询生成器进行内部连接并在typeORM中使用条件进行选择的查询



我是新的查询生成器。我需要应用一个查询。我在mysql上做了,它工作得很好。但是我不能在查询中创建where条件。

这是我的SQL查询:
select users_roles.user_id 
from users_roles 
inner join roles on roles.id = users_roles.role_id  
where roles.role = 'ADMIN_ROLE' 
or roles.role = 'SUPER_ADMIN_ROLE'

我尝试使用查询生成器执行此操作,并且没有使用任何where条件。我如何根据mysql代码过滤?这里我添加我的查询生成器query:

const query = this.userRoleRepository.createQueryBuilder('usersRoles');
const users = await query
.innerJoinAndSelect('usersRoles.user', 'user')
.getMany();

实际上它返回了整个用户列表。但是我只需要指定两种类型的用户。应该用where条件进行过滤。

const users = await query
.select(userRoles.user_id)
.innerJoin('userRoles.roles', 'roles', 'roles.id = users_roles.role_id')
.where("roles.role = :adminRole OR roles.role =: superRole", { adminRole: 'ADMIN_ROLE', superRole: 'SUPER_ADMIN_ROLE' })
.getMany();

我希望这有用。

相关内容

  • 没有找到相关文章

最新更新