При условии, у меня есть следующие модели:belongsTo - hasMany - получение экземпляра из belongsTo - sequelize
module.exports = function (sequelize, DataTypes) {
var WorkingCalendar = sequelize.define('WorkingCalendar', {
date: DataTypes.DATEONLY,
isWorking: DataTypes.BOOLEAN,
}, {
indexes: [{
unique: true,
fields: ['PeriodId', 'date']
}]
}, {
classMethods: {
associate: function (models) {
WorkingCalendar.belongsTo(models.Period);
}
}
});
return WorkingCalendar;
};
module.exports = function(sequelize, DataTypes) {
var Period = sequelize.define('Period', {
name: DataTypes.STRING,
numberOfPeriods: DataTypes.INTEGER
}, {
classMethods: {
associate: function(models) {
Period.hasMany(models.WorkingCalendar);
}
}
});
return Period;
};
, а затем пытается получить Period
через WorkingCalendar
следующим образом:
return models.WorkingCalendar
.findAll({
attributes: [
'PeriodId',
'date'
],
include: [
{ model: models.Period }
],
group: ['date', 'PeriodId']
});
я получаю следующая ошибка: Ошибка необработанного отказа: период не связан с WorkingCalendar!
Однако он работает наоборот.
Мой вопрос: Почему я не могу получить Period
через WorkingCalendar
? И что я должен сделать, чтобы убедиться, что смогу?
Я уже пробовал поместить атрибут foreignKey
на ассоциацию так же, как и ссылку as
, но безрезультатно. Любая помощь будет очень желанной!