더북(TheBook)

7.6.3.2 1:1

1:1 관계에서는 hasMany 메서드 대신 hasOne 메서드를 사용합니다. 사용자 정보를 담고 있는 가상의 Info 모델이 있다고 하면 다음과 같이 표현할 수 있습니다.

db.User.hasOne(db.Info, { foreignKey: 'UserId', sourceKey: 'id' });
db.Info.belongsTo(db.User, { foreignKey: 'UserId', targetKey: 'id' });

1:1 관계라고 해도 belongsTohasOne이 반대이면 안 됩니다. belongsTo를 사용하는 Info 모델에 UserId 컬럼이 추가되기 때문입니다.

▲ 그림 7-58 1:1 관계

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.