gpt4 book ai didi

node.js - Sequelize 从关系中获取模型对象

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

当我定义一个关系时,我指定了它与哪个模型对象相关:

 models.Guest.belongsTo(models.Member, {foreignKey: 'guestId', as: 'guest'});

现在要在查询中使用这种关系,我需要再次指定模型对象:
 Guest.findAll({
include: models.Member,
as: 'guest'
});

在我的设置中,所有关系都定义在一个文件中,而各个模型本身都在文件中。设置定义了模型对象,其中包含所有模型 - 并且该事物可用于应用程序逻辑。

我想要的是直接在 Guest 模型对象中定义一些更复杂的查询,以将它们从应用程序中抽象出来。为此,我想找到 models.Member 对象 - 从关系中的某处检索它:
Guest.findMembers = function(){
return this.findAll({
include: <that model that guest is related to>,
as: 'guest'
});
}

请想象这个例子足够复杂,需要解决。例如,还有更多其他连接和 where 语句。或事后数据处理。

我可以将模型对象传递到每个单独对象的设置中,以便可以访问它的同级对象。这是我唯一的选择吗?

最佳答案

您也可以在包含模式中添加一个包含

Guest.findMembers = function(){
return this.findAll({
include: [{
model: <that model that guest is related to>,
as: 'guest',
include: [{
model: <that model that guest is related this included model>,
as: 'setTheAlias',
}]
}]
});
}

关于node.js - Sequelize 从关系中获取模型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41112961/

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