В моем приложении пользователь может иметь несколько module
, которые хранятся в таблице user_has_module
. Это означает, что для каждой строки user_has_module
я хочу включить module
, где находятся совпадения module_id
.Sequelize hasMany issue issue
модуль
Module = sequelize.define('module', {
academy_id: {
type: DataTypes.INTEGER,
primaryKey: true
},
module_id: {
type: DataTypes.INTEGER,
primaryKey: true
},
module_module_type_id: DataTypes.INTEGER,
sort_number: DataTypes.INTEGER,
score_to_pass: DataTypes.INTEGER
}, {
freezeTableName: true
})
user_has_module
User_has_module = sequelize.define('user_has_module', {
user_id: {
type: DataTypes.INTEGER,
primaryKey: true
},
module_id: {
type: DataTypes.INTEGER,
primaryKey: true
},
academy_team_id: {
type: DataTypes.INTEGER,
primaryKey: true
},
academy_id: {
type: DataTypes.INTEGER,
primaryKey: true
},
sort_number: DataTypes.INTEGER,
is_complete: DataTypes.INTEGER,
score_to_pass: DataTypes.INTEGER,
is_open: DataTypes.INTEGER,
deadline: DataTypes.DATE
}, {
freezeTableName: true
})
Мое отношение
User_has_module.belongsTo(Module, {foreignKey: 'module_id'});
Теперь то, что я хочу do присоединяется к ним по номеру module.module_id = user_has_module.module_id
.
Моя проблема заключается в том, что module
есть, как вы можете видеть, два primary key
, и когда sequelize соединяет эти две таблицы, он выбирает в качестве своего academy_id
primary key
.
Мой вопрос, есть ли способ сказать Sequelize
, что в этом отношении он должен выбрать primary key
module_id
из module
?