У меня есть этот запрос:
model.findAndCountAll({
attributes: ['FirstName', 'LastName'],
include: [{
model: models['hobbies'],
as: 'Hobbies',
attributes: ['ID', 'Name'],
where: {
[Sequelize.Op.and]: [
{ 'ID': 1 },
{ 'ID': 2 }
]
}
}]
})
Я пытаюсь получить сотрудника с двумя хобби, указанными в запросе, хотя он возвращает 0 строк. Оператор AND не работает при применении к одному и тому же столбцу. Можно ли обработать запрос такого типа?
Данные таблицы сотрудников:
EmployeeID | FirstName | LastName | HobbyID
------------+-----------+----------+----------
1 | John | Doe | 1
1 | John | Doe | 1
2 | Jane | Doe | 1
Ассоциация таблиц сотрудников:
model.hasMany(models['Hobbies'], { as: 'Hobbies', foreignKey: 'EmployeeID', targetKey: 'EmployeeID' });
Вывод:
{
count: 0,
rows: []
}
Ожидаемый результат:
{
FirstName: "John",
LastName: "Doe",
Hobbies: [
{ Name: "Sports - Basketball" },
{ Name: "Sports - Volleyball" }
]
}
И он всегда должен возвращать сотрудников с обоими указанными хобби.