我似乎无法弄清楚如何包含多个模型。
我有三个型号。
Tabs, Servers, and Points
Tabs hasMany Server
Servers belongsTo Tabs and hasMany Points
Points belongTo Server
在我的路线中,我这样做:
router.get('/', function (req, res, next) {
models.TabConfig.findAll({
include: [models.ServerConfig]
}).then(function (tabs) {
res.render('index', {
tabs: tabs,
});
});
});
module.exports = router;
它将获取所有选项卡以及与之关联的服务器。效果很好。
但我也想要与服务器相关的点数,所以我可以遍历标签,服务器和点。
有什么想法吗?
由于
答案 0 :(得分:1)
乍一看,您可以使用多个模型的预先加载:
models.TabConfig.findAll({
include: [{
model: models.ServerConfig,
include: [models.Points]
}]
})
这应该为您提供包含所有选项卡及其服务器的数组,并且在每个服务器内部,您将获得与其关联的点。
[{
some: 'tab',
saved: 'property',
Servers: [{
some: 'server',
saved: 'property',
Points: [...]
}, ...]
}, ...]