강의

멘토링

커뮤니티

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

yjkwon9073님의 프로필 이미지
yjkwon9073

작성한 질문수

Node.js 교과서 - 기본부터 프로젝트 실습까지

다대다 관계 이해하기

foreignKey 이해

작성

·

228

0

다대다의 관계에서  foreignKey는 상대 테이블 아이디를 사용하는거라면 

db.User.belongsToMany(db.User, {through: 'Follow', as : 'Followers', foreignKey: 'followingId'});

db.User.belongsToMany(db.User, {through: 'Follow', as : 'Followings', foreignKey: 'followerId'});

 

1대다의 관계에서 user와 post 관계에서 Post설정시 foreignKey는 userId를 가리키는거 아닌가요?

가리키는게 맞다면 Post의 상대 테이블 아이디가 userId라서 설정 된건가요?  

db.User.hasMany(db.Post);

db.Post.belongsTo(db.User, {as: "User", foreignKey: "userId"});

 

foreignKey설정 시 어떤 기준으로 정하는건지 잘 모르겠습니다.

답변 1

1

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

belongsTo냐 belongsToMany냐에 따라 foreignKey 방법이 달라집니다.

belongsTo인 경우에는 as랑 foreignKey모두 상대 테이블을 가리키면 되고요.

 

belongstoMany의 경우에는 as와 foreignKey를 반대되게 설정하시면 됩니다.

yjkwon9073님의 프로필 이미지
yjkwon9073

작성한 질문수

질문하기