2015-06-20 137 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

美麗,謝謝! –