#node.js #sequelize.js
Вопрос:
Как добавить или указать условие вместе с исходным столбцом в приведенном ниже коде.
В основном я ищу текст в нескольких столбцах. Ниже приведена ошибка, возникающая при user.name входит в стоимость.
UnhandledPromiseRejectionWarning: SequelizeDatabaseError: Unknown column 'flights.user.name' in 'where clause'
Ниже приведен код.
const conditionObj = {
[Op.or]: [
{
source: {
[Op.like]: `%${text}%`
}
},
{
destination: {
[Op.like]: `%${text}%`
}
},
{
"user.name": {
[Op.like]: `%${text}%`
}
}
]
};
const list = await db.flights.findAndCountAll({
where: conditionObj,
attributes: [
"id", "source", "destination"
],
include: [
{
association: "user",
attributes: ["id", "name", "mobile", "email"]
},
]
});
Ответ №1:
Для связанных моделей попробуйте обернуть имена полей $
следующим образом:
{
"$user.name$": {
[Op.like]: `%${text}%`
}
}
Смотрите официальную документацию