gpt4 book ai didi

javascript - Sequelize - 如何从对父表的查询中自动检索子记录?

转载 作者:行者123 更新时间:2023-11-28 23:23:21 25 4
gpt4 key购买 nike

我正在使用 sequelize 3.24.3 连接到 MySQL 数据库。

在数据库中,我有两个表之间的一对多关系 - Paper 和 PaperVersion。 1 论文可以有多个版本。我的要求是编写一个查询来从 Paper 表中检索一篇论文,返回的结果集还应该包含与该论文关联的版本。

这是我的模型的样子:

    var Paper = sequelize.define("paper", {
Author: DataTypes.STRING,
Status: DataTypes.ENUM('Pending Submission','Submitted)
});

var PaperVersion = sequelize.define("paperVersion", {
ID: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
Title: DataTypes.STRING,
Description: DataTypes.STRING
},
{
classMethods:
{
associate: function(models){
PaperVersion.belongsTo(models.paper);
}
}
});

这就是我执行选择语句的方式:

        PaperModel.findAll({
})
.then(function(papers){
// do some processing
});

PaperVersion.find({
where:{
paperId:paper.id,
}
}).then(function(version){
// do some processing
});

当我在 Paper 或 PaperVersion 模型上执行 find 或 findAll 时,我只从 Paper 或 PaperVersion 表中获取记录。我在某处读到,可以在结果集中包含来自关联表的记录。有人可以让我知道如何实现这一点。

最佳答案

像这样:

PaperModel
.findAll({
include: [{ model: PaperVersion}]
})
.then(function(papers) {
// do some processing
});

关于javascript - Sequelize - 如何从对父表的查询中自动检索子记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40530077/

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