Pyae Phyoe Shein
Pyae Phyoe Shein

Reputation: 13807

NodeJS Sequelize make main table descending example

I got stuck how to make descending main table in NodeJS. I've developed like that

models.Users.findAll({
    where: {id: usersArray},
    include: [
        {model: models.Users_Answers}
    ],
    order: [
        [models.Users_Answers, 'id', 'ASC']
    ]
}).then(function(answers) {
    /* Do something */ 
});

But error encountered when I changed as below, error encountered.

models.Users.findAll({
    where: {id: usersArray},
    include: [
        {model: models.Users_Answers}
    ],
    order: [
        [models.Users, 'id', 'DESC']
        [models.Users_Answers, 'id', 'ASC']
    ]
}).then(function(answers) {
    /* Do something */ 
});

Unhandled rejection Error: 'Users' in order / group clause is not valid association

Upvotes: 1

Views: 130

Answers (1)

Keval
Keval

Reputation: 3326

You need to do it like this,

models.Users.findAll({
    where: {id: usersArray},
    include: [
        {model: models.Users_Answers}
    ],
    order: [
        [db.Sequelize.col('id'), 'DESC'],
        [models.Users_Answers, 'id', 'ASC']
    ]
}).then(function(answers) {
    /* Do something */ 
});

Upvotes: 2

Related Questions