PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Sequenzieren, wie man die Assoziationstabelle verwendet?

Die Lösung meines Problems war in der Dokumentation unter Associating Objects]1 (Ich muss es übersprungen haben).

Dies erklärt, dass, wenn belingsToMany richtig konfiguriert ist, mehrere Methoden dynamisch erstellt werden, um die Assoziation zu verwalten (getX, addX, getXs, addXs,...).

Mein zweites Problem war der Alias, den ich in gehörtToMany angegeben habe, da ich nicht wusste, dass er den Namen des Modells nahm, habe ich selbst einen Namen festgelegt und sie ausgetauscht.

Jetzt, wo ich die Aliase entfernt habe, funktioniert es einwandfrei.

db.Game.belongsToMany(db.Platform, {through: db.GamePlatforms, foreignKey: 'game_platforms_fk_game'});
db.Platform.belongsToMany(db.Game, {through: db.GamePlatforms, foreignKey: 'game_platforms_fk_platform'});

Und hier ist der Code, den ich zum Testen von "Eine Assoziation hinzufügen" verwende.

Game.find({where: {game_short: 'SFV'}})
              .then(function(game) {
                Platform.find({where: {platform_short: 'PC'}})
                  .then(plat => game.addPlatform(plat));
              })
              .catch(err => console.log('Error asso game and platform', err));