gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 22:26:46 24 4
gpt4 key购买 nike

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

ParentModel -> ChildModel -> ExpensiveRelationshipModel

默认范围 ChildModel 包括 ExpensiveRelationshipModel ,我正在为 ParentModel 创建一个新范围,它不需要来自这种昂贵关系的数据,所以我想删除它。
ChildModel 的默认范围:
ChildModel.addScope(
'defaultScope',
{
include: [
{ model: db.ExpensiveRelationshipModel, as: 'expensiveRelationship' }
]
}
)

我正在为 ParentModel 编写一个新范围,我希望它包含 ChildModel ,但排除 ExpensiveRelationshipModel 。我为 ParentModel 编写的范围是这样的:
ParentModel.addScope(
'for-recently-viewed',
{
include: [
{
model: ChildModel,
as: 'child'
}
]
}
)

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

我想在此范围内指定以消除 ChildModelExpensiveRelationshipModel 之间的昂贵关系。我如何在 Sequelize 4 中做到这一点?

最佳答案

如果您使用 Model.scope('smaller-scope'),则不会使用默认范围。

关于orm - Sequelize - 在父作用域中排除默认的子关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56886703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com