mysql - Sequelize top level where with Op.or 给出错误
问题描述
我正在将包含升级到顶级“位置”,以便我可以或它:
MODEL_A.findAll({
where: {
[Op.Or] : [
{
'$MODEL2_DETAIL.COLNAME$' : { [Op.eq]: 5 }
}, {
'$MODEL3_DETAIL.COLNAME$' : { [Op.eq]: 5 }
}
]
},
include: [{
model: MODEL2
as: 'MODEL2_DETAIL'
}, {
model: MODEL3,
as: 'MODEL3_DETAIL'
}
]
})
它给出了错误:
“无效值 { '$MODEL2_DETAIL.COLNAME$': { [Symbol(eq)]: 5 } }”
如果我把它放在没有 Op.Or 的情况下,它可以工作
MODEL_A.findAll({
where: {
'$MODEL2_DETAIL.COLNAME$' : { [Op.eq]: 5 }
}
}...
以上作品!还有其他建议我可以如何或在多个模型上?
解决方案
需要是 Op.or 而不是 Op.Or 谢谢@anatoly 的注意!