问题描述
我有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-save
,migrate-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.
在我使用Arizonaa2文档以及遵循本教程的同时,请帮助我理解和解决该问题:https://www.youtube.com/watch?v=jeHJbYLCgzI
但是没有运气,这个错误继续困扰着我。
解决方法
问题已解决更新
执行prisma migrate save
,prisma migrate up
和prisma generate
之后,我停止了通过终端运行的服务器,并重新启动了服务器,此后模型开始工作。认为此问题是由于Prisma使用新迁移生成客户端后不再重新启动服务器。
非常感谢@nburk提出的建议。