具有显式表的 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 的嵌套创建查询返回未定义

响应式表不填充它嵌套的整个列

自定义功能用户的角色不起作用,嵌套查询,prisma graphql

具有多重嵌套表的分组方式和计数作为 LINQ 查询

Apollo 和 Prisma Graphql 显式模型关系不可查询

如何使用 linq 查询具有嵌套列表的对象?