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: [...]
}, ...]
}, ...]
我似乎不知道如何包含多个模型。
我有三个模型。
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: [...]
}, ...]
}, ...]