join连接和关系

我有一个数据库运行,但我还没有能够执行两个表之间的联接。 我已经做了另外两个表之间的连接,但是这个不起作用。

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

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

而在我的server.js文件,我试图build立这个查询:

 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 

任何想法如何我可以改善这一点?

非常感谢你,任何帮助表示赞赏。 如果需要更多信息,请告诉我。

Solutions Collecting From Web of "join连接和关系"

这个:

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

应该是这样的:

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

你的意思是diet有很多称为Meals meal模式,所以你可以把diet包括在内。

 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