Я использую sequelize
(4.42.0) вместе с экспресс.У меня есть две таблицы categories
и main_categories
, которые имеют следующую связь:
db.main_categories.hasMany(db.categories);
db.categories.belongsTo(db.main_categories);
Я попытался получить список всех категорий, сгруппированных по их основной категории, с помощью следующей команды sequelize:
var _categoryList = await models.main_categories.findAll({include: [{model: models.categories}], group:['main_categories.id']});
res.send({category_list: _categoryList});
Вывод вышеприведенного кода сиквела:
{
"category_list": [
{
"id": 1,
"name": "Physics",
"created_at": null,
"updated_at": null,
"categories": [
{
"id": 1,
"name": "Mechanics",
"created_at": "2019-03-21T03:39:48.000Z",
"updated_at": "2019-03-21T03:39:48.000Z",
"main_category_id": 1
}
]
},
{
"id": 2,
"name": "Chemistry",
"created_at": null,
"updated_at": null,
"categories": [
{
"id": 6,
"name": "General and Physical Chemistry",
"created_at": "2019-03-21T03:42:54.000Z",
"updated_at": "2019-03-21T03:42:54.000Z",
"main_category_id": 2
}
]
},
{
"id": 3,
"name": "Zoology",
"created_at": null,
"updated_at": null,
"categories": []
},
{
"id": 4,
"name": "Botany",
"created_at": null,
"updated_at": null,
"categories": []
}
]
}
Для меня ожидаемый вывод состоял в том, что массив категорий внутри каждой main_category будет содержать детали всех категорий, подпадающих под одну и ту же основную категорию, а нетолько один, как показано в выводе выше.
Моя main_categories
таблица с данными:
Моя categories
таблица с данными: