1
提供、私は次のモデルがあります:次のようにWorkingCalendar
を通じてPeriod
を取得しようとし、その後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;
};
とを:私は取得しています
return models.WorkingCalendar
.findAll({
attributes: [
'PeriodId',
'date'
],
include: [
{ model: models.Period }
],
group: ['date', 'PeriodId']
});
を次のエラー:未処理の拒否エラー:期間がWorkingCalendarに関連付けられていません!
ただし、逆の動作をします。
私の質問: WorkingCalendar
でPeriod
を取得できないのはなぜですか?私はできることを確かめるために何をしなければならないのですか?
私はすでに、foreignKey
属性を関連付けてas
バインディングとしていますが、残念ながら役に立たないと思います。どんな助けも大歓迎です!