У меня есть две таблицы, связанные друг с другом в Sequelize, и я хочу подсчитать следующие
Столбцы таблицы вакансий: «id», «имя»
Столбцы рабочей таблицы: 'id', 'name', 'job_id'
Допустим, у нас есть 5 рабочих мест, доступных прямо сейчас, и много рабочих, связанных с job_id. Я хочу показать «идентификатор» задания, «имя» и подсчитать, сколько рабочих имеют один и тот же job_id.
Пример: {id: 1, имя: Инженер, количество: 6}; это означает, что в рабочей таблице 6 рабочих имеют job_id = 1
Мой запрос выглядит так:
Jobs.findAll({
attribute:['id', 'name'],
include: [
{
model: Worker,
attributes: [[Sequelize.fn('count', Sequelize.col('job_id')), 'count']]
}
],
group: ['Job.id', 'Worker.id']
})
Дает мне следующий результат без счета:
[
{
"id": 7,
"name": "Doctor",
"users": []
},
{
"id": 1,
"name": "Engineer",
"users": [
{
"count": 1
},
{
"count": 1
},
{
"count": 1
},
{
"count": 1
},
{
"count": 1
},
{
"count": 1
}
]
},
{
"id": 4,
"name": "Pilot",
"users": []
}
]
Принимая во внимание, что он должен подсчитывать все job_id пользователей, как показано ниже:
"id": 1,
"name": "Engineer",
"count": 6