急切加载多个嵌套关联
Eager load multiple and nested associations
我有三个模型,A
、B
和 C
,其中:
A.hasMany(B);
B.belongsTo(A);
B.hasMany(C);
C.belongsTo(B);
我是这样查询的:
await A.findOne({
where: { id: id },
include: [
{
model: B,
},
],
});
如何在查询A
时return属于B
的C
个对象?
最后在另一个问题的评论中找到了解决方案。
我需要用这样的数组传递包含 [{ all: true, nested: true }]
,我最终得到这样的东西:
await A.findOne({
where: { id: id },
include: [{ all: true, nested: true }],
});
我没有测试它循环时会发生什么,也没有找到关于它的文档,如果有好心人发现它,请随时发表评论。
编辑:
嵌套包含也有效:
await A.findOne({
where: { id: id },
include: [
{
model: B,
include: [
{
model: C,
},
],
},
],
});
我有三个模型,A
、B
和 C
,其中:
A.hasMany(B);
B.belongsTo(A);
B.hasMany(C);
C.belongsTo(B);
我是这样查询的:
await A.findOne({
where: { id: id },
include: [
{
model: B,
},
],
});
如何在查询A
时return属于B
的C
个对象?
最后在另一个问题的评论中找到了解决方案。
我需要用这样的数组传递包含 [{ all: true, nested: true }]
,我最终得到这样的东西:
await A.findOne({
where: { id: id },
include: [{ all: true, nested: true }],
});
我没有测试它循环时会发生什么,也没有找到关于它的文档,如果有好心人发现它,请随时发表评论。
编辑:
嵌套包含也有效:
await A.findOne({
where: { id: id },
include: [
{
model: B,
include: [
{
model: C,
},
],
},
],
});