当我申请朋友表时,如何获取2位用户的信息?
我的桌面朋友的格式如下:
id X , UserId : 1 , idFriend : 3, ...
我的表格用户格式如下:
id X , name , mail , ...
当我在查询中链接模型用户时,我只获取UserID的信息,但我没有获得有关idFriend的信息
我的要求是
models.Friend.findAll({
where: {
$or: [{
idFriend: userFound.id
},
{
UserID: userFound.id
}],
status: "pending"
},
include: [
{ model: models.User },
]
})
我该怎么做?
答案 0 :(得分:1)
首先在朋友模型中定义这样的关联:
Friend.belongsTo(User, { foreignKey : 'UserID', constraints: false});
Friend.belongsTo(User, { as: 'friend', foreignKey : 'idFriend' , constraints:false});
第二件事包括这样的模型:
models.Friend.findAll({
where: {
$or: [{
idFriend: userFound.id
},
{
UserID: userFound.id
}],
status: "pending"
},
include: [
{
model: models.User ,
required : false,
where : { id : userFound.id }
},{
model: models.User ,
as : 'friend', // <--------- Magic is here
required : false,
where : { id : userFound.id }
}
]
})