如何嵌套Sequelize关联?

时间:2015-07-17 22:25:46

标签: javascript node.js postgresql sequelize.js

我正在尝试使用Node / Sequelize / PostgreSQL嵌套关联。这是一个相当常见的情况(我相信),但我还没有确定如何做到这一点。这是我的情景。


   - 位置(1:m)
    ----- SubLocation(1:m)

Person模型有一个很好的belongsToMany关联。我现在有一个PersonLocation表,它保存Person和Location的ID,并且使用Person查询返回Location。

这里变得棘手。我现在需要将PersonLocation与Sublocation相关联,Sublocation也需要是1:m的关系。

Person.belongsToMany(Location,{through:' PersonLocation'});

- 这就是我设想它的工作原理,但由于我刚刚定义了PersonLocation关联,我无法以这种方式访问​​它。

PersonLocation.belongsToMany(SubLocation,{through:' PersonLocationSubLocation'});

然后,Person将拥有1:m的位置,然后每个位置可以有多个1:m的SubLocations。在对Person进行查询时,我希望查看该人的所有Person / Locations / SubLocations。

数据库看起来像这样


标识
姓名

位置
标识
姓名

SubLocation
标识
姓名

PersonLocation
标识
PERSONID
LocationId

PersonLocationSubLocation
标识
PersonLocationId
SubLocationId

如何使用Sequelize实现这一目标?

1 个答案:

答案 0 :(得分:0)

sequelize-embed

使用深层嵌套关联轻松插入和更新续集模型