我不明白如何执行以下查询:
说明:
我正在尝试根据表中的值过滤结果,表中的值与表相关,表与我要过滤的模型相关。
FilteredModel <-(hasMany)-MiddleModel-(hasone)-> LastModel
FilteredModel.findAll({
where: {
...conditions,
['$MiddleModel.LastModel.property$']: VARIABLE
}
});
我已经包含了必要的模型,并且在结果中获得了所寻求的财产的价值。
我只是不明白如何将其添加到where
注意事项中。
我尝试了其他SOF答案中所建议的多种形式的示例,但收到了SequelizeDatabaseError: Unknown column 'FilteredModel->MiddleModel->LastModel.property' in 'where clause'
错误。
我可以在这里提供一些指导吗?
答案 0 :(得分:1)
嗨,尝试下面的代码-
Db.orders.findAll({
where: { ORDER_CONDITION },
attributes: [ORDER ATTRIBUTES],
include: [
{
where: { INNER1_WHERE },
required: true,
model: INNER1,
include: [
{
where: { INNER2_WHERE },
required: true,
model: INNER2
},
]
},
]
});
必填:true 包含中的参数起着重要作用,仅包含那些包含了包含在内的订单
在您的代码中,我也没有看到include选项,但是您在include属性上使用where条件 ['$ MiddleModel.LastModel.property $']:VARIABLE