0

我有 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-up并且generate

我得到的错误是:

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

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

4

1 回答 1

3

问题已解决更新

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

非常感谢@nburk 提​​供可能的建议。

于 2020-11-09T19:38:27.497 回答