gpt4 book ai didi

javascript - 如何在 sequelize 中包含相关行的数量

转载 作者:行者123 更新时间:2023-12-03 22:32:39 25 4
gpt4 key购买 nike

我有两个模型,一个 session 模型和一个注册模型。注册模型有一个 session 模型的外键。
在 Sequelize 中,我将关系描述为:

Session.hasMany(Register, {
foreignKey: {
allowNull: false,
},
});
Register.belongsTo(Session);
我想查询所有 session ,并在名为 num_registers 的键中包含与 session 相关的 Register 对象的数量。
例如,
[{
id: 4,
name: 'a session',
num_registers: 43
}]
编辑:
假设 Register 模型也有一个 finished 值,它是一个 bool 值,我将如何执行上述相同的操作,但也仅过滤属于具有 finished 值为 false 的 session 的注册对象。

最佳答案

我想您需要使用 sequelize.literal 使用子查询:\

Session.findAll({
attributes: {
include: [
[
sequelize.literal(`(
SELECT COUNT(*)
FROM Registers AS register
WHERE
register.sessionId = session.id
AND
register.finished = true
)`),
'num_registers'
]
]
}
});
Subqueries

关于javascript - 如何在 sequelize 中包含相关行的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65481409/

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