mi rozwijać własny wniosek i muszę połączyć dwa modele Wcześniej utworzone z Sequelize, są one w następujący sposób:Sequelize hasMany Dołącz stowarzyszenie
Meal
sequelize.define('meal', {
mealId: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
quantity: {
type: DataTypes.DECIMAL,
allowNull: false
},
period: {
type: DataTypes.INTEGER,
allowNull: false
}
})
Food
sequelize.define('food', {
idFood: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
nameFood: {
type: DataTypes.STRING,
allowNull: false
}
})
I dodaje się następującą zależność:
db.food.hasMany(db.meal, {as : 'Food', foreignKey : 'idFood'});
Linia ta dodaje kolumnę idFood na posiłek
Szybko wyjaśniając, co się dzieje, Food jest stolik z wielu produktów spożywczych (duh), takich jak chleb, ryż, fasola, itp Meal jest tabela, która identyfikuje żywność wybraną przez użytkownika wraz z ich szczegółami.
Dlatego moje zrozumienie, że Meal miał wiele Żywność (jak dodałem wcześniej), ale Food nie wymaga żadnej relacji z Meal, ponieważ po prostu przechowuje dane i nie zmienia się po Najpierw zapełniam to. Ale kiedy próbowałem połączyć je z:
db.meal.findAll({ include : [db.food] }).then(function (meals) {
console.log(JSON.stringify(meals));
});
mam następujący błąd:
Unhandled rejection Error: food is not associated to meal!
może ktoś wyjaśnić, co mam zrobić? Myślę, że ma to związek z relacjami, ale nie znalazłem w dokumentacji żadnych dobrych wyjaśnień co do tego, co powinienem zrobić.
Dziękujemy!
Edycja: Czytanie dokumentacji (again), przykład ma sens, ale nie sądzę, że przykład dotyczy mojej sytuacji, ponieważ na ich przykładzie Użytkownik ma Zadanie, a Zadanie należy do Użytkownika. Ale w moim przypadku Żywność nie należy do Posiłku, ponieważ wiele Posiłków może mieć to samo Jedzenie w różnych ilościach (lub dla różnych użytkowników).
Doskonała! To dało mi wynik, którego chciałem, tylko jedno ostatnie pytanie. Drukuję JSON.stringify (posiłki) i pokazuje on wszystkie części danych, ale co, gdybym chciał uzyskać dostęp do niektórych z tych wartości samodzielnie, jak czy mogę to zrobić? – leofontes
Podobnie jak dostęp do każdej żywności? –
Nieważne, wymyśliłem to, dziękuję bardzo! – leofontes