gpt4 book ai didi

node.js - Sequelize连接和关系

转载 作者:搜寻专家 更新时间:2023-10-30 23:37:35 26 4
gpt4 key购买 nike

我有一个正在运行的数据库,但我无法在两个表之间执行连接。我已经在另外两个表之间进行了联接,但这个表不起作用。

在我的 db.js 文件中,我在表之间建立了以下关系:

db.diet.hasMany(db.meal, {as : 'Diet', foreignKey : 'dietId'});

在我的 server.js 文件中,我正在尝试构建此查询:

db.meal.findAll({
include : [db.diet],
where : {
dietId : idDiet
}
}).then(function (meals) {
res.json(meals)
});

这给了我以下错误:

ReferenceError: idDiet is not defined

我也试过这样查询饮食表:

db.diet.findAll({
include :[db.meal],
where : {
idDiet : dietId
}
}).then(function (meals) {
res.json(meals);
});

但它也给我一个错误:

ReferenceError: dietId is not defined

关于如何改进它有什么想法吗?

非常感谢,任何帮助都将不胜感激。如果需要更多信息,请告诉我。

最佳答案

这个:

db.diet.hasMany(db.meal, {as : 'Diet', foreignKey : 'dietId'});

应该是这样的:

db.diet.hasMany(db.meal, {as : 'Meals'});

你是说 diet 有很多 meal 模型,称为 Meals 所以你可以包括 Meals 饮食

db.diet.findAll({
include: [db.meal] // include the meal in the query ("join")
}).then((diet) => {
// diet.Meals is a array of "meal" models that
// belongs to the queried "diet"
});

我在这里回答过类似的问题:https://stackoverflow.com/a/39822966/3254198

关于node.js - Sequelize连接和关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39811769/

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