如何嵌套 Sequelize 关联?
Posted
技术标签:
【中文标题】如何嵌套 Sequelize 关联?【英文标题】:How to nest Sequelize associations? 【发布时间】: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 实现这一目标?
【问题讨论】:
【参考方案1】:续集嵌入
使用深度嵌套的关联轻松插入和更新续集模型
【讨论】:
以上是关于如何嵌套 Sequelize 关联?的主要内容,如果未能解决你的问题,请参考以下文章
Sequelize嵌套的渴望加载找到所有嵌套关联不匹配的地方
如何使用 sequelize 基于 sqlite3 中的“日期”列进行查询?