如何通过在带有 post id 和 prodCode 的 prisma 中使用 findUnique 来查找 post
how to find post by using findUnique in prisma with post id and prodCode
我只想找到一个 post 通过 post id 和 prodCode
匹配的
下面是我的查询代码。它不起作用。
如果我将 findUnique 更改为 findFirst。它有效。
const post = await client.post.findUnique({
where: {
AND: [
{ id: postId },
{
product: {
prodCode,
},
},
],
},
});
棱镜模型
model Product {
id Int @id @default(autoincrement())
prodName String
prodCode String @unique
posts Post[]
holdings Holding[]
proposes Propose[]
}
model Post {
id Int @id @default(autoincrement())
user User @relation(fields: [userId], references: [id])
userId Int
product Product @relation(fields: [productId], references: [id])
productId Int
title String
content String
createdAt DateTime @default(now())
}
由于 Post.id
是唯一的,您 也不需要 按 prodCode
过滤。您可以使用所需的 id
查询 post
记录,然后检查连接的 product
是否具有正确的 prodCode
.
我会这样做:
const post = await prisma.post.findUnique({
where: {
id: postId
},
include: {
product: true
}
});
if (post.product.prodCode === prodCode) {
// No result for desired query
} else {
// "post" variable contains result of desired query
}
我只想找到一个 post 通过 post id 和 prodCode
匹配的下面是我的查询代码。它不起作用。 如果我将 findUnique 更改为 findFirst。它有效。
const post = await client.post.findUnique({
where: {
AND: [
{ id: postId },
{
product: {
prodCode,
},
},
],
},
});
棱镜模型
model Product {
id Int @id @default(autoincrement())
prodName String
prodCode String @unique
posts Post[]
holdings Holding[]
proposes Propose[]
}
model Post {
id Int @id @default(autoincrement())
user User @relation(fields: [userId], references: [id])
userId Int
product Product @relation(fields: [productId], references: [id])
productId Int
title String
content String
createdAt DateTime @default(now())
}
由于 Post.id
是唯一的,您 也不需要 按 prodCode
过滤。您可以使用所需的 id
查询 post
记录,然后检查连接的 product
是否具有正确的 prodCode
.
我会这样做:
const post = await prisma.post.findUnique({
where: {
id: postId
},
include: {
product: true
}
});
if (post.product.prodCode === prodCode) {
// No result for desired query
} else {
// "post" variable contains result of desired query
}