2015-06-20 259 views
0

在文档中找不到我想要的内容,所以我只想在此留下此处,并希望有所帮助!自定义.find()绑定到Sequelize模型

我有一个具体的查询,我需要运行在我的用户模型与很多包括和那些包括所有有他们在里面的语句...... 所以,我想整理我的控制器,把这个逻辑

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() 我的控制器内。

此功能是否存在,我只是想念它?

任何帮助/建议将不胜感激。

谢谢!

回答

1

这种选择可以通过使用“作用域”来完成, http://sequelize.readthedocs.org/en/latest/docs/scopes/

通过定义你的模型那样:

var Project = sequelize.define('Model1', { 
    // Attributes 
}, { 
    defaultScope: { 
    where: { 
     aCondition: false 
    } 
    } 
}); 

它瓦特不适合每个find()。 您可以定义多个作用域。

+0

美丽,谢谢! –