User.associate = function (models){
User.hasMany(models.Perform,{
foreignKey: 'user_id'
})
}
Perform.associate = function(models){
Perform.belongsTo(models.User,{
foreignKey: 'user_id'
})
}
연결테이블이 필요하다.
그림에서의 관객_공연 테이블이 연결테이블이다.
위와같이 연결테이블을 사용하면 서로 연결이 가능하다.
연결테이블에서 알 수 있는 내용은,
서로 다대다 관계임을 설정하고,
through 속성을 통해 연결테이블을 생성한다.
User.belongsToMany(models.Perform, {
through: 'UserPerform',
})
Perform.belongsToMany(models.Users, {
through: 'UserPerform',
})
이렇게 해주면 sequelize가 관계 분석 후
1. UserPerform이라는 연결테이블을 자동 생성하며,
2. 컬럼은 userId,performId 가 생성된다.
추후 실제로 데이터를 생성해 연습할 예정이다.
[연습]