인프런 커뮤니티 질문&답변

이지성님의 프로필 이미지

작성한 질문수

차세대 Node.js 백엔드 서버 개발(Fastify & Prisma & Typescript와 함께하는)

Prisma 환경 설정

Prisma 환경 설정 질문있어요!

해결된 질문

24.06.02 21:47 작성

·

132

0

안녕하세요 강의를 듣다가 궁금한 부분이 있어서 질문드립니다!!

User에 대한 모델을 정의할 때 comments, likes도 정의하는 데 이 둘은 각각의 articles 모델에 대한 comments, likes라고 생각되는 데 왜 User 모델에도 정의되어 있는지 궁금합니다!!

각각의 articles 모델에 대한 comments, likes라도 User에서 정의해야 하는 건가요?

 

답변 2

1

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

2024. 06. 02. 23:08

질문 주신 부분이 아래 쿼리에서 comments, likes에 대한 설정에 대한 것이 맞나요?

model User {
  id Int @id @default(autoincrement())
  email String @unique
  password String
  token Token[]
  articles Article[]
  comments Comment[]
  likes Like[]
}

이부분의 경우 여기서 comment[], like[]를 설정한 이유는 join을 위해 필요하기 때문입니다.

특정 게시글(article)에 대한 comment 들을 얻는다고 가정할 때

하나의 게시글에는 여러개의 comment가 있을 수 있고

이 comment 를 작성한 각각의 user정보도 필요하게 됩니다.

이런 경우를 위해서 user와 comment도 join해서 결과를 얻을 수 있어야 하기 때문에 관계설정을 한 것이라고 이애하면 되겠습니다.

이부분에 대한 문의가 아닐경우 다시한번 문의를 주시면 또 답변드리겠습니다.

감사합니다.

0

이지성님의 프로필 이미지
이지성
질문자

2024. 06. 03. 00:41

"user와 comment도 join해서 결과를 얻을 수 있어야 하기 때문" 그렇군요!! 이해했습니다 감사합니다!!