#node.js #sequelize.js
#node.js #sequelize.js
Вопрос:
Я использую ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ в sequilize, и я хочу использовать или между profilePicture: ‘public/uploads/default/default-male.png’ и profilePicture: ‘public/uploads/default/default-female.png’
return models.Users.findAll({
where: {userType:'engineer'},
include: [
{ model: models.CandidateDetails, as: "CandidateDetails",
where: { [Op.not]:
[{ profilePicture : 'public/uploads/default/default-male.png'}, {profilePicture :'public/uploads/default/default-female.png'}
]}, required: false }
]
});
В этом я получаю вывод
`CandidateDetails`.`user_id` AND NOT (`CandidateDetails`.`profile_picture` = 'public/uploads/default/default-male.png' AND `CandidateDetails`.`profile_picture` LIKE 'public/uploads/default/default-female.png')
Ответ №1:
Просто используйте Op.or
внутри Op.not
, как это:
where: { [Op.not]:
{ [Or.or]: [{ profilePicture : 'public/uploads/default/default-male.png'}, { profilePicture :'public/uploads/default/default-female.png' }
]
}},
required: false
}
Комментарии:
1. Вы получили желаемый SQL-запрос?