发布
社区首页 >问答首页 >Sequelize -排除父作用域中的默认子关系

Sequelize -排除父作用域中的默认子关系
EN

Stack Overflow用户
提问于 2019-07-04 19:11:45
回答 1查看 215关注 0票数 0

我在下面的关系中有三个Sequelize模型:

代码语言:javascript
代码运行次数:0
复制
ParentModel -> ChildModel -> ExpensiveRelationshipModel

默认作用域ChildModel包括ExpensiveRelationshipModel,我正在为ParentModel创建一个新作用域,该作用域不需要来自这个昂贵关系的数据,所以我想删除它。

ChildModel的默认作用域

代码语言:javascript
代码运行次数:0
复制
ChildModel.addScope(
  'defaultScope',
  {
    include: [
      { model: db.ExpensiveRelationshipModel, as: 'expensiveRelationship' }
    ]
  }
)

我正在为ParentModel编写一个新的作用域,我希望它包含ChildModel,但不包括ExpensiveRelationshipModel。我为ParentModel写的范围是这样的:

代码语言:javascript
代码运行次数:0
复制
ParentModel.addScope(
  'for-recently-viewed',
  {
    include: [
      {
        model: ChildModel,
        as: 'child'
      }
    ]
  }
)

这会导致使用ChildModel的默认作用域,因此包括我不需要的ExpensiveRelationshipModel

我想在这个作用域中指定删除ChildModelExpensiveRelationshipModel之间昂贵的关系。我如何在Sequelize4中做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2019-07-04 19:13:58

如果使用Model.scope('smaller-scope'),则不会使用默认作用域。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56886703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档