首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prisma -未知字段“”

Prisma -未知字段“”
EN

Stack Overflow用户
提问于 2022-08-09 11:23:19
回答 1查看 133关注 0票数 1

我正在创建一个系统,在这个系统中,每个用户都有一些角色。之后,每个角色都包含一个权限列表,用于驱动应用程序中的逻辑。

Prisma模式(prisma版本4.1.1)

为此,我创建了这个Prisma模式:

代码语言:javascript
复制
model Role {
  id          String              @id @default(cuid())
  name        String              @db.VarChar(255)
  permissions PermissionOnRoles[]
  users       User[]
}

model Permission {
  id          String              @id
  name        String              @db.VarChar(255)
  description String              @db.VarChar(255)
  roles       PermissionOnRoles[]
}

model PermissionOnRoles {
  role         Role       @relation(fields: [roleId], references: [id]) @ignore
  roleId       String     
  permission   Permission @relation(fields: [permissionId], references: [id])
  permissionId String
  assignedAt   DateTime   @default(now()) @ignore
  assignedBy   String     @ignore

  @@id([roleId, permissionId])
}

DB现在的样子:

迁移这个模式之后,我向数据库和实际表添加了一些DEV数据,如下所示:

PermissionOnRoles

权限

但是,当我尝试使用以下查询查询包含权限的角色时:

代码语言:javascript
复制
await prisma.role.findMany({
   include: {
       permissions: true,
   },
});

错误:

代码语言:javascript
复制
Invalid `prisma.role.findMany()` invocation:

{
  include: {
    permissions: true,
    ~~~~~~~~~~~
?   users?: true,
?   _count?: true
  }
}


Unknown field `permissions` for include statement on model Role. Available options are listed in green. Did you mean `users`?

如果我试图打开Prisma中的角色表,基本上也会出现同样的错误。

我不擅长数据库的设计,所以我的数据库设计可能是错误的,或者我只是错过了一些非常愚蠢的东西,但是我找不到任何东西,所以我想得到任何能引导我找到正确方向的建议。

我试过什么

删除节点modules

  • update version

  • prisma &@/client到最新的迁移dev --以验证模式中的内容在表
    • prisma生成中--只是为了测试所有内容。
EN

回答 1

Stack Overflow用户

发布于 2022-08-25 12:10:01

在本例中,您需要从连接表(在本例中为permissionOnRoles )进行查询。所以这个查询应该适用于您。

代码语言:javascript
复制
  await prisma.permissionOnRoles.findMany({
    include: {
      permission: {
        include: {
          roles: true,
        },
      },
    },
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73291006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档