PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak korzystać z tabeli asocjacji?

Rozwiązanie mojego problemu znalazło się w dokumentacji w sekcji Powiązanie obiektów]1 (Musiałem to pominąć).

To wyjaśnia, że ​​jeśli belingsToMany jest poprawnie skonfigurowane, kilka metod zostanie utworzonych dynamicznie do zarządzania asocjacją (getX, addX, getXs, addXs,...).

Moim drugim problemem był alias, który podałem, należy do wielu, ponieważ nie wiedziałem, że wziął nazwę modelu, który sam ustawiłem i zamieniłem je.

Teraz, gdy usunąłem aliasy, działa dobrze.

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'});

A oto kod, którego używam do testowania „dodawania skojarzenia”.

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));



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hibernacja, Postgres i typ tablicy

  2. Wiele sprzężeń lewostronnych w wielu tabelach w jednym zapytaniu

  3. Połącz wiersze JSON

  4. Instalacja Deepdive, błąd PostgreSQL

  5. Jak w naturalny sposób połączyć dwa zapytania z klauzulą?