Kun*_*the 8 associations where-clause node.js nested-query sequelize.js
使用Sequelize版本实现:"^ 4.15.0"
我试图从包括协会的2级添加where条件.
Model1.find({
include: [
{
model: Model2,
as: 'model2_alias',
attributes: [
'model2_id'
],
include: [{
model: Model3,
as: 'model3_alias',
attributes: [
'model3_id'
]
}]
}
],
where: {
model3_alias.id: { [Op.in]: [1, 2, 3] }
}
});
Run Code Online (Sandbox Code Playgroud)
我累了这个方法:
where: {
'$model2_alias.model3_alias.id$': { [Op.in]: [1, 2, 3] }
}
Run Code Online (Sandbox Code Playgroud)
但是给出了model2_alias.model3_alias.id未定义/未找到的错误.
上面的内容确实有效,因为'$model2_alias.id$': { [Op.in]: [1, 2, 3] }语法必须写入,但如何进一步降低级别.
在任何MySQL管理工具中执行形成的SQL语句时,会给出正确的结果,因此where我尝试实现的条件也没有错.
我在这里缺少的任何想法或仅适用于一个级别.然后该怎么做更多级别?
您可以在任何级别添加这样的位置 -
Model.find({
where : {
// where 1
},
include : [{
model : Model1,
where : {
// Where 2
},
include : [{
model : Model2,
where : {
// Where 3
}
}]
}]
});
Run Code Online (Sandbox Code Playgroud)
希望有帮助!
| 归档时间: |
|
| 查看次数: |
1115 次 |
| 最近记录: |