Vorausgesetzt, ich habe folgende Modelle:belongsTo - hasMany - Instanz von belongsTo bekommen - 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;
};
Und dann die Period
durch die WorkingCalendar
zu erhalten versuchen, wie folgt:
return models.WorkingCalendar
.findAll({
attributes: [
'PeriodId',
'date'
],
include: [
{ model: models.Period }
],
group: ['date', 'PeriodId']
});
Ich erhalte Folgefehler: Nicht behandelte Ablehnung Fehler: Periode ist nicht WorkingCalendar zugeordnet!
Aber es funktioniert anders herum.
Meine Frage: Warum kann ich nicht die Period
durch die WorkingCalendar
bekommen? Und was muss ich tun, damit ich es kann?
Ich habe bereits versucht, die foreignKey
Attribut auf die Assoziation sowie die as
Bindung aber leider vergebens. Jede Hilfe wäre sehr willkommen!