在文档中找不到我想要的内容,所以我只想把它留在这里并希望得到一些帮助!
我有一个特定的查询,我需要在我的用户模型上运行,包含很多包含,并且包含所有包含where语句的内容... 所以,我想整理我的控制器并放置这个逻辑
User.findById(userId, {include: [{
model: Model1,
where: { aCondition: false}
},{
model: Model2,
where: { aCondition: false}
},{
model: Model3,
where: { aCondition: false}
},{
model: Model4,
where: { aCondition: false}
},{
model: Model5,
where: { aCondition: false}
}]}).then()
进入模型本身所以我只能调用
User.findByIdWithIncludes(userId).then()
在我的控制器里面。
这个功能是否存在,我只是错过了它?
非常感谢任何帮助/建议。
谢谢!
答案 0 :(得分:1)
这种选择可以使用“范围”来完成, http://sequelize.readthedocs.org/en/latest/docs/scopes/
通过这样定义你的模型:
var Project = sequelize.define('Model1', {
// Attributes
}, {
defaultScope: {
where: {
aCondition: false
}
}
});
它将与每个find()一起使用。 您可以定义多个范围。
答案 1 :(得分:0)
查看http://sequelize.readthedocs.org/en/latest/docs/models-definition/#expansion-of-models
这绝对让您有机会在模型上创建findByIdWithIncludes
方法