【问题标题】:Sequelizejs get fields from relation table into association belongsToManySequelizejs从关系表中获取字段到关联belongsToMany
【发布时间】:2018-12-01 23:13:00
【问题描述】:

我在 NodeJs 上使用 Sequelizejs@4.37.6 用于具有以下架构的 Postgre 数据库:

players 架构

id
first_name
last_name
...
status

sports 架构

id
name
...
status

player_sports 架构

id
player_id
sport_id
rating
trophies

我的协会是

Player.belongsToMany(Sport, {through: 'player_sports', foreignKey: 'player_id'});
PlayerSport.hasOne(Player, {foreignKey: 'id'});
PlayerSport.hasOne(Sport, {foreignKey: 'id'});

我正在查询所有有以下运动的玩家

Player.findAll({
    include: ['sports']
});

一切都按预期工作,但我也希望在关系中有 ratingtrophies 字段,请提出一种方法来获取那些在播放器或 player.sports

提前致谢

【问题讨论】:

    标签: node.js postgresql sequelize.js


    【解决方案1】:

    您可以像这样从player 获取ratingtrophies

    player.sports.player_sports.trophies

    player.sports.player_sports.rating

    如果您遇到错误,请尝试将 PlayerSport 关联更改为这个:

    PlayerSport.belongsTo(Player, {foreignKey: 'player_id'});
    PlayerSport.belongsTo(Sport, {foreignKey: 'sport_id'});
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-25
      • 1970-01-01
      • 2021-07-28
      • 1970-01-01
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多