【问题标题】:Unable to solve Prisma 1 - 1 and 1 - n relation error无法解决 Prisma 1 - 1 和 1 - n 关系错误
【发布时间】:2021-02-20 04:50:39
【问题描述】:

我有 3 个 Prisma2 表,其中 User 可以有很多 Sheet 而只有一个 Doc

model User {
  id Int @default(autoincrement()) @id
  firstName String
  lastName String
  email String @unique
  sheets Sheet[]
  docs Doc?
}
model Sheet {
  id Int @default(autoincrement()) @id
  user_sheets Int
  User User @relation(fields: [user_sheets], references: [id])
  sheetName String
}
model Doc {
  id Int @default(autoincrement()) @id
  user_doc Int?
  User User? @relation(fields: [user_doc], references: [id])
  docName String
}

我正在使用这样的 Prisma2 Client 来获取具有特定电子邮件 ID 的用户的所有工作表和文档:

  import { PrismaClient } from '@prisma/client'
  const prisma = new PrismaClient();
  const users = await prisma.user.findMany({
            where: {
              email: email
            },
            include: {
                sheets: true,
                docs: true,
            }
        });

我已经完成了migrate-savemigrate-upgenerate

我得到的错误是这样的:

PrismaClientValidationError: 
Invalid `prisma.user.findMany()` invocation in
webpack-internal:///./pages/api/resume.js:12:47

{
  include: {
    sheets: true
    ~~~~~~
    docs: true
    ~~~~~~
  }
}


Unknown field `sheets` for include statement on model User.
This model has no relations, so you can't use include with it.

请帮助我理解并解决它,因为我使用了 prisma2 文档并遵循了本教程:https://www.youtube.com/watch?v=jeHJbYLCgzI

但没有运气,错误继续困扰着我。

【问题讨论】:

  • 嗯,这很奇怪!架构看起来应该允许该查询。只是预感,但也许尝试rm -rf node_modules,然后使用npm install 重新安装依赖项。有时,架构更改后 Prisma Client 可能无法正确更新...
  • 如果问题仍然存在,我建议您open an issue on GitHub,因为这可能是您遇到的错误。
  • @nburk 感谢您抽出宝贵时间研究此问题,我发现了问题。当您说重新安装 node_modules 时,我停止了服务器并重新运行命令 yarn run dev 并解决了问题。我的错误是我没有停止服务器并在 yarn generate 命令生成 Prisma Client 之后重新启动。
  • 听起来不错,很高兴听到你能解决这个问题! :)

标签: prisma prisma2


【解决方案1】:

问题已解决更新

在我执行prisma migrate saveprisma migrate upprisma generate 之后,我停止了通过终端运行的服务器并重新启动了服务器,之后模型开始工作。认为问题是由于在 Prisma 使用新迁移生成客户端后没有再次重新启动服务器。

非常感谢 @nburk 提​​出的建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多