我从Sequelize返回了以下数据,但我希望从键表中获得另一个值而不是ID_Key(例如:键名,该值在键表中可用)。
[
{"ID_Translation":1,"ID_Language":1,"ID_Key":2,"TargetText":"TextTranslation2"},
{"ID_Translation":2,"ID_Language":1,"ID_Key":1,"TargetText":"TextTranslation1"},
{"ID_Translation":3,"ID_Language":1,"ID_Key":3,"TargetText":"TextTranslation3"}
]
我的查询
Translation.findAll({
where: {
ID_Language: 1,
}
}).then(Translations => {
console.log("All Translations:", JSON.stringify(Translations));
});
谢谢
答案 0 :(得分:0)
您将translations
与Key-table
关联了吗?您可以使用查询中的include
属性include
关联模型。例如 :
假设您有一个与Key
模型相关联的名为Translations
的模型,并且在这些模型之间具有1-N关联,如下所示:
Key.hasMany(Translation);
Translation.belongsTo(Key);
您可以这样做:
Translation.findAll({
where: {
ID_Language: 1,
},
include: [
Key
],
})
当您获取所有Translation
时,由于关联,您将在翻译对象中拥有一个Key
属性。即eager loading
。
有关文档的更多信息:http://docs.sequelizejs.com/manual/models-usage.html#eager-loading