具有显式 table 的 Prisma 查询嵌套列表
Prisma query nested list with explicit table
我想向任何人寻求帮助。我正在努力查询我的数据库,其中有 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),我希望它 return 它与所有组。我的 prisma 代码是
prisma.permission.findUnique({
where: {
id: id
},
include: {
groups: {
include: {
group:true
}
}
}
}
而 return 是
{
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 循环来做,但如果可能的话我想避免它的另一个步骤
非常感谢你们
目前,如果在获取数据后不在您的应用程序中更新它,这是不可能的。
您可以按照 this 请求获取更多更新,因为这可以解决您的问题。
我想向任何人寻求帮助。我正在努力查询我的数据库,其中有 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),我希望它 return 它与所有组。我的 prisma 代码是
prisma.permission.findUnique({
where: {
id: id
},
include: {
groups: {
include: {
group:true
}
}
}
}
而 return 是
{
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 循环来做,但如果可能的话我想避免它的另一个步骤
非常感谢你们
目前,如果在获取数据后不在您的应用程序中更新它,这是不可能的。
您可以按照 this 请求获取更多更新,因为这可以解决您的问题。