gpt4 book ai didi

javascript - Sequelize - 两个 ID 上的双连接表

转载 作者:行者123 更新时间:2023-11-29 12:45:16 24 4
gpt4 key购买 nike

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

“关注”基本上是指一个用户“关注”另一个用户

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

例子:

Users
| id | name | email | etc |

Followings
| id | UserId | FollowedId |

UserId 和 FollowedId 都关联到“Users”表中的用户。

我试过这个:

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

但是当我使用时:

Followings.find({
include: User
})

只会嵌套UserId的信息,不会嵌套FollowedID用户。

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

编辑:使用 PostgreSQL

最佳答案

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

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' },
]
})

关于javascript - Sequelize - 两个 ID 上的双连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26598409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com