我有一个使用nestjs的typeorm库和一个mysql数据库,其中有一个表user、user_roles(多对多)和角色。我还有一个已经拥有 super_admin 角色的用户。
const users = await this.userRepository.find({
relations: ['roles.role'],
});
以下回应:
[
{
"id": "1",
"email": "[email protected]",
"password": "Parol123",
"created_at": "2024-07-17T10:10:49.000Z",
"updated_at": "2024-07-17T10:10:49.000Z",
"roles": [
{
"id": "1",
"role": {
"id": "1",
"name": "super_admin",
"label": "Super Admin",
"description": "https://wordpress.org/documentation/article/roles-and-capabilities/"
}
}
]
}
]
我需要更改传入的角色值,使其仅显示角色名称,例如:
roles: ["super_admin"]
我尝试使用查询生成器,但它对我来说也不起作用。
获得所需信息后,您可以使用
map
功能并自行格式化响应
const users = await this.userRepository.find({
relations: ['roles.role'],
});
return users.map(user=>{
return {
...user,
roles: user.roles.map(role=>role.role.name)
}
})