javascript - Prisma findMany 함수가 관계형 데이터를 반환하지 않음
저는 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();
OutPut
[
{ id: 1, name: 'John Doe' },
{ id: 2, name: 'Masum' },
{ id: 3, name: 'Rezaul' }
]
거래 DB 결과
제품 DB
왜 제 findMany()가 관계형 DB 데이터를 반환하지 않는지 모르겠습니다. 감사합니다
답변 #1
저는 문서를 읽어보시길 권장합니다, 특히 이 장과 그 다음 장들을요. 예제에서는 Author와 Post가 있으며, Post에는 Author를 가리키는 author 필드가 있습니다. 그들의 코드는 다음과 같습니다:
const getPosts = await prisma.post.findMany({
where: {
title: {
contains: 'cookies',
},
},
include: {
author: true, // Return all fields
},
})
사실 조금 아래에 있는 'Include deeply nested relations' 장에서는 예제의 .transactions와 마찬가지로 배열인 .category 필드를 사용합니다.
답변 #2
포함을 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();

