У меня есть такой метод:
const getAllRequest = async (page, pageSize, order) => {
try {
const requests = await Request.findAndCountAll({
where = {
[Op.or]: [
sequelize.where(sequelize.col('requests.id'), { [Op.like]: `%${req.query.queryStr}%` }),
sequelize.where(sequelize.col('requests.user_id'), { [Op.like]: `%${req.query.queryStr}%` }),
sequelize.where(sequelize.col('requests.uuid'), { [Op.like]: `%${req.query.queryStr}%` }),
sequelize.where(sequelize.col('requests.status'), { [Op.like]: `%${req.query.queryStr}%` }),
sequelize.where(sequelize.col('requests.csv_url'), { [Op.like]: `%${req.query.queryStr}%` }),
sequelize.where(sequelize.col('request_urls.url'), { [Op.like]: `%${req.query.queryStr}%` }),
]
},
raw: true,
attributes: ['id', 'uuid', 'userId', 'status', 'csvUrl', 'requestURLs.url', 'createdAt', 'updatedAt'],
include: [{
model: RequestUrl,
as: "requestURLs",
where: { type: 'brand' },
attributes: []
}],
subQuery: false,
offset: page * pageSize,
limit: pageSize,
order
});
return {
status: 200,
message: "List of requests.",
requests
}
} catch (error) {
return Promise.reject({
status: 500,
message: "Something went wrong.",
error
});
}
}
, но он не возвращает данные, если попытаться выполнить фильтрацию с использованием включенных атрибутов модели. Вместо этого он возвращает:
Ошибка: Неизвестный столбец 'request_urls.url' в 'предложении where'
Пожалуйста, помогите мне разобраться в этом.