Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 快速加载:如何使用两个外键进行包含_Postgresql_Sequelize.js - Fatal编程技术网

Postgresql 快速加载:如何使用两个外键进行包含

Postgresql 快速加载:如何使用两个外键进行包含,postgresql,sequelize.js,Postgresql,Sequelize.js,问题: 我有两个表“Transactions”和“Users”,它们有两个onetomy关系,两个外键是“senderId”和“recipientId”。在获取事务历史记录时,我试图获取“不是我”的用户(请求事务历史记录的用户)的配置文件图片 例如:如果id为1的用户是发送者,id为2的用户是接收者,那么当id为1的用户请求事务历史记录时,我需要将id为2的用户的配置文件图片包含到该特定事务中 用户模型关联: User.hasMany(models.Transactions{ 作为‘发送者’,

问题:

我有两个表“Transactions”和“Users”,它们有两个onetomy关系,两个外键是“senderId”和“recipientId”。在获取事务历史记录时,我试图获取“不是我”的用户(请求事务历史记录的用户)的配置文件图片

例如:如果id为1的用户是发送者,id为2的用户是接收者,那么当id为1的用户请求事务历史记录时,我需要将id为2的用户的配置文件图片包含到该特定事务中

用户模型关联:

User.hasMany(models.Transactions{
作为‘发送者’,
外键:“senderId”,
});
User.hasMany(models.Transactions{
作为‘收件人’,
foreignKey:“recipientId”,
});
交易模型关联:

Transactions.belongsTo(models.User、{
作为‘发送者’,
外键:“senderId”,
});
事务处理.belongsTo(models.User{
作为‘收件人’,
foreignKey:“recipientId”,
});
当前实施情况

wait models.Transactions.findAndCountAll({
其中:{
[Op.or]:[{senderId:id},{recipientId:id}],
},
抵消,
极限,
包括:[
{
模型:模型。用户,
作为‘发送者’,
属性:['profilePic'],
},
{
模型:模型。用户,
作为‘收件人’,
属性:['profilePic'],
},
],
});
当前结果

{
“id”:2,
“senderId”:1,
“接收方ID”:2,
“createdAt”:“2021-01-29T08:45:41.319Z”,
“更新日期”:“2021-01-29T08:45:41.319Z”,
“发件人”:{
“profilePic”:“配置文件图片url”
},
“收件人”:{
“profilePic”:空
}
}
期望的结果

{
“id”:2,
“senderId”:1,
“接收方ID”:2,
“createdAt”:“2021-01-29T08:45:41.319Z”,
“更新日期”:“2021-01-29T08:45:41.319Z”,
“profilePic”:“未请求的用户配置文件图片url”
}
问题: 如何避免在急着加载时同时包含发件人和收件人的配置文件图片,而只获取其他用户的配置文件图片

谢谢