Я пытаюсь получить модель schedule_class в порядке asc, используя столбцы startAt.Связи для моделей следующие:
- плановый_класс: класс => м: 1
- класс: учитель => 1: 1
- класс: плановый_класс => 1: m
Сначала я запрашиваю базу данных для schedule_class, затем включаю класс, связанный с моделью, затем включаю все запланированные классы, связанные с моделью класса, где они попадают в заданный диапазон.Я был в состоянии получить данные без заказа их.Когда я добавляю атрибут order для продолжения, он выдает следующую ошибку.Как я могу получить запланированные классы в порядке asc относительно столбцов startAt?`
" message ":" Неизвестный столбец 'class.name' в 'предложении заказа' "," code ": 500," className ":" general-error "," data ": {}
module.exports = function () {
return function (context) {
const sequelize = context.app.get('sequelizeClient');
context.params.sequelize = {
raw: false,
include: [ {model: sequelize.models.attendance, paranoid: true} ],
order: []
};
if(context.params.query && context.params.query.includeClasses) {
let startDate = new Date();
startDate.setMonth(startDate.getMonth() -1);
startDate.setDate(1);
let endDate = new Date();
endDate.setMonth(endDate.getMonth() + 2);
endDate.setDate(0);
context.params.sequelize.include.push(
{
model: sequelize.models.classes,
paranoid: true,
include:[
{
model:sequelize.models.teacher,
paranoid: true
},
{
model:sequelize.models.scheduled_class,
paranoid: true,
where: {
startsAt: {
$gte: startDate
},
endsAt: {
$lte: endDate
}
},
},
],
order: [[sequelize.models.teacher, 'id', 'DESC']]
});
context.params.sequelize.order.push([sequelize.models.classes, 'name', 'DESC']);
//context.params.sequelize.order.push([sequelize.models.teacher, 'id', 'DESC']);
//context.params.sequelize.order.push([sequelize.models.scheduled_class, 'startsAt', 'DESC']);
delete context.params.query.includeClasses;
}
};
};