상황설명: 급하게 구현한 API를 하나씩 뜯어 고치고 있다.
user_id
...program_id
...program_status_id
처럼 id값만 "띡" 보냈다...
장고가 편하지 그래... django orm은 최고야...
const getOneReservation = ({ reservation_id }) => {
return prisma.reservations.findUnique({
where: {
id: reservation_id,
},
})
}
{
"reservation": {
"id": 1,
"program_id": 1,
"user_id": 2,
"created_at": "2021-04-26T01:27:32.000Z",
"updated_at": null,
"deleted_at": null,
"reservation_number": "RV6039755034",
"program_status_id": 1,
"person_count": 1
}
}
저렇게 id값만 보내는 곳은 없다...🥲
prisma orm 공식문서 에 나와있는 예제 참고해서 고쳐봤다.
prisma orm 공식문서 예제)
const getUser = await prisma.user.findUnique({
where: {
id: 19,
},
select: {
// This will work!
email: true,
posts: {
select: {
title: true,
},
},
},
})
이중 SELECT문으로 필요한 정보값을 가져와보자!!
const getOneReservation = ({ reservation_id }) => {
return prisma.reservations.findUnique({
where: {
id: reservation_id,
},
select: {
id: true,
updated_at: true,
deleted_at: true,
reservation_number: true,
program_statuses: {
select: {
status: true,
},
},
person_count: true,
programs: {
select: {
name: true,
description: true,
start_point_id: true,
end_point_id: true,
total_count: true,
achieved_count: true,
run_date: true,
reservation_closing_date: true,
start_time: true,
end_time: true,
is_full: true,
hosts: {
select: {
id: true,
name: true,
description: true,
program_count: true,
}
},
},
},
},
})
}
이제 id값이 아닌 실질적인 웹사이트 구현에 필요한 정보를 보낼 수있다!
Reference:
https://www.prisma.io/docs/concepts/components/prisma-client/relation-queries