gpt4 book ai didi

Node.js - Sequelize.js 嵌套关联检查外部 where 条件 - 未定义

转载 作者:搜寻专家 更新时间:2023-10-31 22:20:21 36 4
gpt4 key购买 nike

使用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] }
}
});

我厌倦了这个方法:

where: {
'$model2_alias.model3_alias.id$': { [Op.in]: [1, 2, 3] }
}

但是给出了 model2_alias.model3_alias.id 未定义/未找到的错误。

当写成 '$model2_alias.id$': { [Op.in]: [1, 2, 3] } 时上面确实有效所以语法必须写但是如何去一个更多级别。

在任何 MySQL 管理工具中执行形成的 SQL 语句时,都会给出正确的结果,因此我试图实现的 where 条件也没有错。

任何想法我在这里遗漏了什么或者这只适用于一个级别。那么更多关卡怎么办?

最佳答案

您可以像这样在任何级别添加 where -

Model.find({
where : {
// where 1
},
include : [{
model : Model1,
where : {
// Where 2
},
include : [{
model : Model2,
where : {
// Where 3
}
}]
}]

});

希望对您有所帮助!

关于Node.js - Sequelize.js 嵌套关联检查外部 where 条件 - 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48741752/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com