【发布时间】:2015-10-07 18:02:58
【问题描述】:
我正在尝试使用 Node/Sequelize/PostgreSQL 嵌套关联。这是一个相当普遍的情况(我相信),但我还没有确定如何去做。这是我的场景。
人
-- 位置 (1:m)
----- 子位置 (1:m)
Person 模型有一个 belongsToMany 关联,效果很好。我现在有一个 PersonLocation 表,其中包含 Person 和 Location 的 id,并且 Location(s) 与 Person 查询一起返回。
这就是棘手的地方。我现在需要将 PersonLocation 与同样需要是 1:m 关系的子位置关联。
Person.belongsToMany(Location, {通过: 'PersonLocation'});
--这是我设想的工作方式,但由于我刚刚定义了 PersonLocation 关联,因此无法通过这种方式访问它。
PersonLocation.belongsToMany(SubLocation, {通过: 'PersonLocationSubLocation'});
然后这个人将有 1:m 位置,然后每个位置都可以有多个 1:m 子位置。在对 Person 进行查询时,我希望查看该人的所有 Person/Locations/SubLocations。
数据库看起来像这样
人
身份证
姓名
位置
身份证
姓名
子位置
身份证
姓名
人物位置
身份证
个人身份
位置标识
PersonLocationSubLocation
身份证
人员位置 ID
子位置 ID
任何想法如何使用 Sequelize 实现这一目标?
【问题讨论】:
标签: javascript node.js postgresql sequelize.js