Sequelize Express 多个模型

Sequelize Express multiple models

我似乎不知道如何包含多个模型。

我有三个模型。 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;

这让我获得了所有选项卡,以及与它们关联的服务器。效果很好。

但我也想要与服务器关联的点,这样我就可以遍历选项卡、服务器和点。

有什么想法吗?

谢谢

乍一看,您可以对多个模型使用预先加载:

models.TabConfig.findAll({
    include: [{
        model: models.ServerConfig,
        include: [models.Points]
    }]
})

这应该会为您提供一个包含所有选项卡及其服务器的数组,并且在每个服务器中您将拥有与其关联的点。

[{
    some: 'tab',
    saved: 'property',
    Servers: [{
        some: 'server',
        saved: 'property',
        Points: [...]
    }, ...]
}, ...]