我正在使用Sequelize for PostgresSQL . 例如:我有两个表 Friendship
和 User
. 为了使每个用户都能 Build 友谊,我有两个关系n:n .
Associations in Sequelize
User.hasMany(Friendship,
{
as: "friendshipsAsked",
foreignKey: "asked_user_id",
joinTableName: "friendship"
});
User.hasMany(Friendship,
{
as: "friendshipsAsking",
foreignKey: "asking_user_id",
joinTableName: "friendship"
});
Friendship.belongsTo(User,
{
...
});
Friendship.belongsTo(User,
{
...
});
我最大的问题是为用户查询友谊 . 当我有用户模型时,我必须得到 user.getFriendshipsAsking()
和 user.getFriendshipsAsked()
然后合并它们 .
是否有可能改变关系,所以我可以在SQL中使用 user.getFriendships()
,使其像_2893873一样执行?
我想有一个更好的解决方案来模拟数据库中的用户之间的 friendship
?