我正在尝试使用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实现这一目标?
答案 0 :(得分:0)
sequelize-embed
使用深层嵌套关联轻松插入和更新续集模型