我正在使用Feathersjs后端框架和Sequelize作为ORM。使用n:m关系的Sequelize连接表可以使用belongsToMany
关联“自动”(从此处称为“方法A”)生成,但是我遵循了一种主张的替代方法('方法B'),即明确定义连接表与2个belongsTo
关联,并使用您要加入联合表的两个表中的hasMany
关联。
这很好用。但是我的输出看起来像这样:
{
"id": 1,
"user_id": 2,
"group_id": 1,
"Venues": [
{
"id": 1,
"capacity": "400",
"venue_name": "Club Lotte",
"venue_description": "Club in Rotterdam",
"EmployeeVenues": {
"employee_id": 1,
"venue_id": 1
}
},
{
"id": 2,
"capacity": "400",
"venue_name": "Club Dino",
"venue_description": "Club in Rotterdam",
"EmployeeVenues": {
"employee_id": 1,
"venue_id": 2
}
}
]
}
我希望它看起来像这样:
{
"id": 1,
"user_id": 2,
"group_id": 1,
"Venues": [
{
"id": 1,
"capacity": "400",
"venue_name": "Club Lotte",
"venue_description": "Club in Rotterdam"
},
{
"id": 2,
"capacity": "400",
"venue_name": "Club Dino",
"venue_description": "Club in Rotterdam"
}
]
}
使用Approach A this exact same issue can be solved using the through: { attributes: [] }
in the query时。使用方法B也可以实现吗?
需要使用属性
Model.findAll({
attributes: ['foo'],
include: {
attributes: ['bar'],
model: JoinModelName,
},
});