@ds3

Как выполнить сортировку по столбцу?

Я использую sequelize. Когда выполняю сортировку по столбцу role_name возникает такая ошибка:

столбец users.role_name не существует


Если отсортировать по любому другому столбцу то никаких проблем не возникнет. Как правильно сортировать по столбцу для которого был выполнен join?

module.exports.getAll = async function (req, res) {
    try {
        const query = {
            where: {
                [Op.or]: [
                    {
                        full_name: {
                            [Op.iLike]: `%${req.query.search}%`
                        }
                    },
                    {
                        username: {
                            [Op.like]: `%${req.query.search}%`
                        }
                    },
                    Sequelize.where(Sequelize.col((Roles, "role_name"), "varchar"), {
                        [Op.like]: `%${req.query.search}%`
                    })
                ]
            },
            include: [{ model: Roles, attributes: ["role_name"], required: true }],
            offset: +req.query.pageSize * (+req.query.page - 1),
            limit: +req.query.pageSize,
            order: [
                [req.query.sort, req.query.order]
            ]
        };
        const users = await Users.findAndCountAll(query);
        res.status(200).json(users);
    } catch (e) {
        errorHandler(res, e);
    }
};
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы