Prisma findMany 函数不返回关系数据
Prisma findMany function is not returning relational data
我正在尝试使用 Prisma 2.28.0 用关系数据填充我的数据,这是我的
Schema.prisma以下型号
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Product {
id Int @id @default(autoincrement())
name String @db.VarChar(255)
transactions Transaction[]
}
model Transaction {
id BigInt @id @default(autoincrement())
quantity Int
time Int
product Product? @relation(fields: [productId], references: [id])
productId Int?
}
我正在尝试获取数据的函数。
const { PrismaClient }=require("@prisma/client")
const prisma = new PrismaClient()
async function checkPrismaConnection(){
try {
const result=await prisma.product.findMany();
console.log(result);
}catch (e) {
console.log(e);
}
}
checkPrismaConnection();
输出
[
{ id: 1, name: 'John Doe' },
{ id: 2, name: 'Masum' },
{ id: 3, name: 'Rezaul' }
]
事务数据库结果
产品数据库
我不知道为什么我的 findMany() 没有重新调整关系数据库数据。谢谢
我建议阅读文档,尤其是 this chapter 和后面的文档。在他们的示例中,他们有一个 Author
和 Post
,其中 Post
有一个指向 Author
的 author
字段。他们的代码如下所示:
const getPosts = await prisma.post.findMany({
where: {
title: {
contains: 'cookies',
},
},
include: {
author: true, // Return all fields
},
})
“包含深层嵌套关系”一章实际上使用了一个字段 .category
,它也是一个数组,如您的示例 .transactions
.
您需要将 include 显式设置为 true。
所以您的代码看起来像这样
const { PrismaClient }=require("@prisma/client")
const prisma = new PrismaClient()
async function checkPrismaConnection(){
try {
const result=await prisma.product.findMany({
include: {
transaction: true,
},
});
console.log(result);
}catch (e) {
console.log(e);
}
}
checkPrismaConnection();
我正在尝试使用 Prisma 2.28.0 用关系数据填充我的数据,这是我的
Schema.prisma以下型号
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Product {
id Int @id @default(autoincrement())
name String @db.VarChar(255)
transactions Transaction[]
}
model Transaction {
id BigInt @id @default(autoincrement())
quantity Int
time Int
product Product? @relation(fields: [productId], references: [id])
productId Int?
}
我正在尝试获取数据的函数。
const { PrismaClient }=require("@prisma/client")
const prisma = new PrismaClient()
async function checkPrismaConnection(){
try {
const result=await prisma.product.findMany();
console.log(result);
}catch (e) {
console.log(e);
}
}
checkPrismaConnection();
输出
[
{ id: 1, name: 'John Doe' },
{ id: 2, name: 'Masum' },
{ id: 3, name: 'Rezaul' }
]
事务数据库结果
产品数据库
我不知道为什么我的 findMany() 没有重新调整关系数据库数据。谢谢
我建议阅读文档,尤其是 this chapter 和后面的文档。在他们的示例中,他们有一个 Author
和 Post
,其中 Post
有一个指向 Author
的 author
字段。他们的代码如下所示:
const getPosts = await prisma.post.findMany({
where: {
title: {
contains: 'cookies',
},
},
include: {
author: true, // Return all fields
},
})
“包含深层嵌套关系”一章实际上使用了一个字段 .category
,它也是一个数组,如您的示例 .transactions
.
您需要将 include 显式设置为 true。
所以您的代码看起来像这样
const { PrismaClient }=require("@prisma/client")
const prisma = new PrismaClient()
async function checkPrismaConnection(){
try {
const result=await prisma.product.findMany({
include: {
transaction: true,
},
});
console.log(result);
}catch (e) {
console.log(e);
}
}
checkPrismaConnection();