具有显式表的 Prisma 查询嵌套列表
Posted
技术标签:
【中文标题】具有显式表的 Prisma 查询嵌套列表【英文标题】:Prisma query nested list with explicit table 【发布时间】:2021-10-31 16:31:10 【问题描述】:我想向任何人寻求帮助。我正在努力查询我的数据库,其中有 3 个表:Permission、Group、PermissionInGroup。
model Permission
@@map(name: "permission")
id Int @default(autoincrement()) @id
name String @db.VarChar(255)
groups PermissionInGroup[]
model Group
@@map(name: "group")
id Int @default(autoincrement()) @id
name String?
permissions PermissionInGroup[]
users UserInGroup[]
domain Domain @relation(fields: [domainId], references:[id])
domainId Int
model PermissionInGroup
@@map(name: "permission_in_group")
id Int @id @default(autoincrement())
permission Permission @relation(fields: [permissionId], references:[id])
permissionId Int
group Group @relation(fields: [groupId], references: [id])
groupId Int
我想要的是查询一个特定的权限(按 ID),我希望它与所有组一起返回它。我的棱镜代码是
prisma.permission.findUnique(
where:
id: id
,
include:
groups:
include:
group:true
回报是
id: 1,
name: 'Test permission',
groups: [
id: 1, permissionId: 1, groupId: 1, group: [Object]
id: 2, permissionId: 1, groupId: 2, group: [Object]
]
我的期望是得到这个:
id: 1,
name: 'Test permission',
groups: [
id: 1, name: "Test group", domain: 1,
id: 2, name: "Test group 2", domain: 1
]
有什么简单的方法吗?我的意思是我可以用 for 循环来做到这一点,但如果可能的话,我想避免它的另一个步骤
非常感谢你们
【问题讨论】:
【参考方案1】:目前,如果在获取数据后不更新应用程序,这是不可能的。
您可以关注this 请求获取更多更新,因为这可以解决您的问题。
【讨论】:
以上是关于具有显式表的 Prisma 查询嵌套列表的主要内容,如果未能解决你的问题,请参考以下文章
自定义功能用户的角色不起作用,嵌套查询,prisma graphql