无法解决 Prisma 1 - 1 和 1 - n 关系错误
Unable to solve Prisma 1 - 1 and 1 - n relation error
我有 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 客户端来获取具有特定电子邮件 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.
请帮助我理解并解决它,因为我使用了 prisma2 文档并遵循了本教程:https://www.youtube.com/watch?v=jeHJbYLCgzI
但不幸的是,错误继续困扰着我。
问题已解决更新
在执行 prisma migrate save
、prisma migrate up
和 prisma generate
之后,我通过终端停止了服务器 运行 并重新启动了服务器,之后模型开始工作。认为问题是由于在 Prisma 使用新迁移生成客户端后没有再次重新启动服务器。
非常感谢@nburk 的建议。
我有 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 客户端来获取具有特定电子邮件 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.
请帮助我理解并解决它,因为我使用了 prisma2 文档并遵循了本教程:https://www.youtube.com/watch?v=jeHJbYLCgzI
但不幸的是,错误继续困扰着我。
问题已解决更新
在执行 prisma migrate save
、prisma migrate up
和 prisma generate
之后,我通过终端停止了服务器 运行 并重新启动了服务器,之后模型开始工作。认为问题是由于在 Prisma 使用新迁移生成客户端后没有再次重新启动服务器。
非常感谢@nburk 的建议。