Sequelize – 两个ID的双连接表

如果我有一个“用户”表和一个“后续”表(“后续”有UserId和FollowedId,都指“用户”表上的用户)

“followings”基本上是一个用户“跟随”另一个用户

如何设置关联,以便在使用Followings模型查询和包含用户模型时,它将包含两列的嵌套信息?

例:

Users | id | name | email | etc | Followings | id | UserId | FollowedId | 

UserId和FollowedId都与“用户”表上的用户相关联。

我试过这个:

 User.hasMany(Following); Following.belongsTo(User, {foreignKey: 'FollowedId'}); Following.belongsTo(User, {foreignKey: 'UserId'}); 

但是当我使用:

 Followings.find({ include: User }) 

它只会在UserId上嵌套信息,而不是FollowedID用户。

如果这是令人困惑的问题,请提出问题,谢谢!

编辑:使用PostgreSQL

我想如果你给一个名字的belongsTo你可以在你的include中指定关系。 所以像这样:

 User.hasMany(Following); Following.belongsTo(User, {foreignKey: 'FollowedId', as: 'Followee'}); Following.belongsTo(User, {foreignKey: 'UserId', as: 'User'}); 

与包括像:

 Followings.find({ include: [ { model: User, as: 'Followee' }, { model: User, as: 'User' }, ] })