在钩子“ BeforeFind”中,我试图根据查找查询的选项中属性的值来应用范围。
如果未在选项中设置该值,则应使用默认范围。
我无法使其正常运行。这可能吗?如果可以,怎么办?
在使用以下查询时,应使用defaultScope:
testModel.findByPk(1)
在使用以下查询时,应使用“已过滤”范围:
testModel.findByPk(1, {filter: 'theValue'})
“已过滤”用户范围设置如下
function (value) {
if(value)
return {
include: {otherModel},
where: {field: value}
}
return {
include: {otherModel},
}
}
在挂钩函数中,我已经尝试过
this.scope({method: ['filtered',options.filter]});
或
this.scope = this.scope({method: ['filtered',options.filter]});
我正在将Sequelize 5.8.5与NodeJS和mysql DB一起使用。