Как найти количество пользователей, у которых нет задач в сиквелизме? - PullRequest
0 голосов
/ 07 февраля 2020

Как найти количество пользователей, у которых нет задач, в Sequelize. Пользователи и задачи - это разные модели, а пользователи имеют много задач (отношение внешнего ключа)

1 Ответ

1 голос
/ 07 февраля 2020

В одном запросе на продолжение можно выполнить следующие действия:

UserModel.findAndCountAll({
        offset: 0,
        limit: 10,
        group: ["user.id"],
        includeIgnoreAttributes: false,
        include: [
            {
                model : TaskModel
            }
        ],
        attributes: [
            "id",
            [Sequelize.fn("COUNT", Sequelize.col("tasks.id")), "taskCount"]
        ],
        having: Sequelize.literal(`taskCount > 0`)
    })

Таким образом, вы можете получить тех пользователей, у которых нет задач, разбитых на страницы, а свойство результатов count будет содержать общее количество таких пользователей, у которых есть нет задачи.

...