【发布时间】:2022-06-12 02:41:09
【问题描述】:
是否可以在查询父模型时始终获取关联模型(关系)?
例如:
Foo.init {
name: DataTypes.STRING,
bar_id: DataTypes.INTEGER
}...
Bar.init {
name: DataTypes.INTEGER
}...
Bar.hasOne(Foo, {
as: 'coolname',
foreignKey: 'bar_id'
})
当我执行Bar.findAll() 时,是否可以始终在 Bar 中获取 foo?没有“包含”
因为 Bar 也是 Zoo 的孩子(动物园有很多 Bar),当我这样做时:
Zoo.findByPk(1, {
include: Bar
// somehow I need to include Foo in all Bars
})
我需要获得 Zoo 及其所有的 Bars,并且每个 Bar 都应该拥有它 Foo。
我发现了 Nested Eager Loading,但有兴趣也许在模型定义中有一种方法?
就像在 python 的 SqlAlchemy 中一样:有一种方法可以在不进行额外查询的情况下始终加入关系
【问题讨论】:
-
试试这个解决方案:stackoverflow.com/questions/53567770/… 让我知道它是否有效。 (-:
-
@thegreytangent 请检查我的答案,defaultScope 可以解决问题,就像一个魅力
标签: sequelize.js