我有三个相互关联的模型:
- 锻炼
- 电路
- CircuitStep
- 电路
每个Circuit都有一个repeatCount
,重复了几次,每个CircuitStep都有一个duration
。
如何告诉Workout
模型使用duration
和CircuitSteps.duration
计算Circuit.repeatCount
的总和?这种聚合有可能吗?
// models/Workout.js
module.exports = (sequelize,DATATYPES) => {
const Workout = sequelize.define(
"workout",{
name: { type: DATATYPES.STRING },duration: { type: DATATYPES.STRING },}
);
Workout.associate = function(models) {
models.Workout.hasMany(models.Circuit);
};
return Workout;
};
// models/Circuit.js
module.exports = (sequelize,DATATYPES) => {
const Circuit = sequelize.define(
"circuit",{
name: {
type: DATATYPES.STRING,allowNull: false
},workout_id: {
type: DATATYPES.INTEGER,repeat_count: {
type: DATATYPES.INTEGER,},);
Circuit.associate = function(models) {
models.Circuit.hasMany(models.CircuitStep);
models.Circuit.belongsTo(models.Workout);
};
return Circuit;
};
module.exports = (sequelize,DATATYPES) => {
const CircuitStep = sequelize.define(
"circuit_step",{
duration: {
type: DATATYPES.INTEGER
},exercise_id: {
type: DATATYPES.INTEGER
},circuit_id: {
type: DATATYPES.INTEGER
},}
);
CircuitStep.associate = function(models) {
models.CircuitStep.belongsTo(models.Circuit);
};
return CircuitStep;
};