通过中间模型加紧加载
我有3个模型:
ModelA,ModelB和ModelC
- ModelA属于多个ModelB(n:m)
- ModelB属于多个ModelA(m:n)
- ModelB属于ModelC(n:1)
- ModelC有许多ModelB(1:n)
我需要获得ModelA的所有ModelC(通过ModelB)
我相信是这样的,但我不能得到它的工作,当一个through
续集创build协会创造怪异foreignKeys和关于这个话题的续集文件是非常不完整的,我的味觉
ModelA.findOne({ where: ..., include: [ { model: ModelC, through: ... } ] });
编辑:我改变了所有的实体模型A,B,C,因为这是一个关于Sequelize API的问题/问题; 不是关于数据库/模型devise
您的User
模型与您的Company
模型没有直接关系,但您可以使用嵌套包含以下内容获取Company
通过Role
:
User.findOne({ where: ..., include: [ { model: Role, include: [ { model: Company, ... } ] } ] });