인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
테이블 관계, 관계 메서드에 대해서 질문드리겠습니다.
작성
·
204
0
DB는 처음다뤄봐서인지 이전 테이블관계 강의와 해당 강의를 몇번을 회독했는데도 이해가 가지않거나, 궁금한점이 있어서 질문드립니다.
테이블끼리 관계를 설정하고, 관계 데이터를 사용하는 이유가 무엇인가요? include만 사용하는 것과 어떤 차이가 있는지 궁금해서 질문드립니다.
강의에서 관계를 아래와 같이 설정한 뒤 User는 'Likers', Post는 'Liked'라는 별칭을 지정하셨는데, 별칭의 사용이유가 다른 관계와의 구분외에 또 있을까요? 뭔가 이 부분의 사용 이유가 정확하게 이해가 안되서 질문드립니다 ㅜㅜ
db.Post.belongsToMany(db.User, { through: 'Like', as: 'Likers' })
db.User.belongsToMany(db.Post, { through: 'Like', as: 'Liked' })
아래 식은 Likers(User)테이블에서 유저ID(req.user.id)를 찾아 해당 데이터를 Post 테이블에 추가한다는 뜻을 이해했는데 맞을까요?
await post.addLikers(req.user.id);
좋아요 기능을 구현한 뒤 Post와 User의 관계에서 생성된 Like 매핑테이블을 확인해보니 다음과 같이 데이터가 추가되었던데 혹시 어느 부분에서 매핑테이블에 데이터가 추가된건가요?
.png)
답변 1
0
제로초(조현영)
지식공유자
관계 데이터가 뭘 말씀하시는 건가요?
as에 적힌대로 메서드도 추가됩니다. addLikers addLiked getLikers이런 식으로요. include할 때도 as까지 같이 넣으셔야 하고요.
이건 다대다 관계라서 through인 Like 테이블에 추가됩니다.
이게 addLikers입니다




