【发布时间】:2020-04-28 02:22:32
【问题描述】:
我有这个问题:
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" }
]
}
并且它应该始终返回具有指定两种爱好的员工。
【问题讨论】:
-
实际输出和预期输出是多少?
标签: node.js sequelize.js and-operator