gpt4 book ai didi

node.js - Sequelize 中的嵌套内部连接

转载 作者:行者123 更新时间:2023-12-03 22:16:15 27 4
gpt4 key购买 nike

我正在尝试使用 Sequelize 内部连接五个表。我知道我必须使用 required: true 进行内部连接。但即使在使用 required: true 之后,它也没有生成我想要实现的查询。在这里,我附上了没有 required: true 语句的代码。我应该如何放置 required: true 语句来内部连接五个表?

const db = require('../models');

const data = await db.A.findAll({
where: conditionA,
include: [{
model: db.B,
where: conditionB,
include: [
{
model: db.C,
where: conditionC,
include: [{
model: db.D,
where: conditionD
}],
},
{
model: db.E,
where: conditionE,
}
]
}]
});

模型协会

db.A.hasMany(db.B);
db.C.hasMany(db.B);
db.E.hasMany(db.B);
db.D.hasMany(db.C);

db.B.belongsTo(db.A);
db.B.belongsTo(db.C);
db.B.belongsTo(db.E);
db.C.belongsTo(db.D);

如有任何帮助,我们将不胜感激。提前致谢。

最佳答案

您应该在 include 选项中为所有模型指定 required: true 并指定 subQuery: false 以使 Sequelize 使用通常的 JOIN 而不是JOIN 与子查询。

关于node.js - Sequelize 中的嵌套内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65533376/

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