2016-10-01 2 views
1

データベースを実行していますが、2つのテーブル間で結合を実行できませんでした。私は既に他の2つのテーブルの間で結合を行ったが、これは機能しません。私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 

任意のアイデア?

どうもありがとうございました。さらに詳しい情報が必要な場合は、私に知らせてください。

+0

にconsole.log 'diedId'を – user3254198

+0

私も参加できないように私は、私はそれを行うことができると思ういけませんエラーを取得する前にテーブル – leofontes

+0

ああ私はあなたが何をしようとしているのか分かります。あなたは食事と食事を一緒にしています。あなたは '食事 'にすべての食事を照会しようとしていますか? – user3254198

答えて

1

この:

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

はこのことする必要があります

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

あなたはdietはそうあなたがdietMealsを含めることができるようになりますMealsとして知られている多くのmealモデルを持っていることを言っています。

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

+0

ありがとうございました!ちょうどもう1つの質問、私のデータベースはすでに生産中ですが、db.jsファイルの関係を変更できますか?それとも違法でしょうか? – leofontes

関連する問題