У меня есть отношение "один ко многим" между двумя объектами: приборной панелью и диаграммой, описанные так:
module.exports = function (sequelize, DataTypes) {
const Dashboard = sequelize.define('Dashboard', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
title: {
type: DataTypes.STRING
}
});
Dashboard.associate = (models) => {
Dashboard.belongsTo(models.User, {
foreignKey: 'user_id',
targetKey: 'id'
});
Dashboard.hasMany(models.Chart, {
foreignKey: 'dashboard_id',
sourceKey: 'id'
});
};
return Dashboard;
};
И:
module.exports = function(sequelize, DataTypes) {
var Chart = sequelize.define('Chart', {
id: {
type: DataTypes.INTEGER(32),
primaryKey: true,
autoIncrement: true
},
title: {
type: DataTypes.STRING,
allowNull: false
},
x_title: {
type: DataTypes.STRING
},
y_title: {
type: DataTypes.STRING
},
data_type: {
type: DataTypes.STRING,
allowNull: false
},
data_value: {
type: DataTypes.STRING,
allowNull: false
},
filters: {
type: DataTypes.TEXT,
allowNull: false
}
}
);
Chart.associate = (models) => {
Chart.belongsTo(models.Dashboard, {
foreignKey: 'dashboard_id',
targetKey: 'id'
});
};
return Chart;
};
Поэтому, когда я хочудобавьте новую панель инструментов с несколькими диаграммами, такими как:
models.Dashboard.create({
user_id: 1,
title: 'Dashboard title',
charts: [
{
title: 'time',
x_title: 'Days',
y_title: 'Count',
data_type: 'count',
data_value: 'visit',
filters: '[{"type":"project","values":["1"]},{"type":"language","values":["french"]},{"type":"satisfaction","values":[1,2,3]}]'
},
{
title: 'indicator',
x_title: '',
y_title: '',
data_type: 'count',
data_value: 'visit',
filters: '[{"type":"project","values":["1","2","3","4","5","6"]},{"type":"language","values":["french"]}]'
}
]
}, { include: [models.Chart] }).then(() => {
res.send({
'message': 'Dashboard loaded !'
});
});
Панель инструментов вставлена в базу данных, но диаграммы также не вставлены ... Каков наилучший способ добавления записей с однозначныммного ассоциаций, использующих Sequelize?Я просто пытаюсь и пытаюсь прочитать все документы (http://docs.sequelizejs.com/manual/tutorial/associations.html#creating-with-associations), но я не понимаю этого проблемного поведения ...
Спасибо за вашу помощь и ваше просвещение!