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

Minsub Yoon님의 프로필 이미지
Minsub Yoon

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

게시글 좋아요

다대다 관계의 데이터 로딩 관련 질문

작성

·

174

1

다대다 관계에 있는 데이터를 로딩하는 것에 관련해서 궁금한게 있습니다.

백엔드에서 mainPosts를 찾아 프론트로 보낼 때 Likers 처럼 다대다 관계에서 생성된 테이블은 아래와 같은 형태의 데이터를 반환합니다.
Likers: [
   {
      id: 2,
      Like: {
         createdAt: ~~~,
         updatedAt: ~~~,
         UserId: 2,
         PostId: 20
      }
   }

PostCard에서 onLike를 통해 Likers를 추가하면 아래와 같은 형태가 되어야 하는데 말이죠.
Likers: [
   {
      id: 2
   }
]

이렇다보니 원치않은 Like: {} 데이터가 나오기도 하고 스테이트도 통일성이 떨어져서 보기가 불편합니다.

Likers를 include 할 때 반환값 { id : ~~ }로 나오게 할 방법은 없을까요??

답변 3

2

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

아 belongsToMany에서는 through로 표시한 중간 테이블 정보가 기본적으로 객체 안에 들어가네요. 제거하는 방법은 저도 찾아봐야할 것 같습니다.

0

Minsub Yoon님의 프로필 이미지
Minsub Yoon
질문자

attributes: ['id']를 해도 User 테이블의 다른 프로퍼티만 제거되고 Like 객체는 계속 나옵니다. 뭐가 원인인지 모르겠네요..

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

include: User

as: Likers 하시면서

attributes: ['id'] 추가하시면 id만 나옵니다

Minsub Yoon님의 프로필 이미지
Minsub Yoon

작성한 질문수

질문하기