ich meine Bewerbung bin erweitern und ich brauche zwei Modelle anschließen ich vorher mit Sequelize geschaffen hatte, sie sind wie folgt:Sequelize hasMany Join Verein
Meal
sequelize.define('meal', {
mealId: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
quantity: {
type: DataTypes.DECIMAL,
allowNull: false
},
period: {
type: DataTypes.INTEGER,
allowNull: false
}
})
Lebensmittel
sequelize.define('food', {
idFood: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
nameFood: {
type: DataTypes.STRING,
allowNull: false
}
})
Ich fügte die folgende Beziehung hinzu:
db.food.hasMany(db.meal, {as : 'Food', foreignKey : 'idFood'});
Diese Linie eine idFood Spalte Mahlzeit fügt
schnell zu erklären, was los ist, Essen eine Tabelle mit vielen Lebensmitteln ist (duh) wie Brot, Reis, Bohnen, usw. Mahlzeit ist eine Tabelle, die angibt, welches Essen der Benutzer mit seinen Details gewählt hat.
Daher mein Verständnis war, dass Mahlzeit viele Essen hatte (wie ich vorher hinzugefügt), aber Lebensmittel benötigte keine Beziehung mit Mahlzeit, da es Daten nur hält und nicht verändert wird nach Ich bevölkere es zuerst. Aber als ich versuchte, sie zu verbinden mit:
db.meal.findAll({ include : [db.food] }).then(function (meals) {
console.log(JSON.stringify(meals));
});
Ich habe folgende Fehlermeldung:
Unhandled rejection Error: food is not associated to meal!
Kann mir jemand erklären, was soll ich tun? Ich denke, es hat mit den Beziehungen zu tun, aber ich konnte in der Dokumentation keine gute Erklärung finden, was ich tun sollte.
Vielen Dank!
Bearbeiten: Lesen der Dokumentation (again), das Beispiel ist sinnvoll, aber ich denke nicht, dass das Beispiel auf meine Situation anwendbar ist, weil in ihrem Beispiel Benutzer eine Aufgabe hat und Aufgabe zu Benutzer gehört. Aber in meinem Fall gehört Essen nicht zu einer Mahlzeit, weil viele Mahlzeiten dasselbe Essen in verschiedenen Mengen (oder für verschiedene Benutzer) haben können.
Ausgezeichnet! Dies gab mir das Ergebnis, das ich wollte, nur eine letzte Frage .. Ich drucke die JSON.stringify (Mahlzeiten) und es zeigt jeden Teil der Daten, aber was ist, wenn ich einige dieser Werte von selbst, wie zugreifen wollte könnte ich es tun? – leofontes
Wie Zugriff auf jedes Essen? –
Egal, ich habe es herausgefunden, vielen Dank! – leofontes