Я использую бэкэнд-фреймворк Feathersjs с Sequelize как ORM. Использование таблиц соединения Sequelize для отношений n: m может быть сгенерировано «автоматически» (далее «Подход A») с ассоциацией belongsToMany
, однако я последовал также рекомендованному альтернативному подходу («Подход 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"
}
]
}
При использовании подхода A ту же проблему можно решить с помощью through: { attributes: [] }
в запросе. Можно ли этого также достичь с помощью подхода B?
joinTableAttributes: []
? - person Ankh   schedule 03.09.2018