Как запросить отношения многие ко многим в Sequelize? - PullRequest
0 голосов
/ 28 сентября 2018

Привет, я использую sequelize как ORM.Это моя схема:

Users: id,name
Tags: id,tagName
UserTags: id,userId,tagId

Пользователи и теги имеют отношения многие ко многим.У пользователя много тегов, а у тега много пользователей, и эта связь сохраняется в userTags.

. Я сделал ассоциации в моделях User и Tag как:

User.associate = models => {
    User.belongsToMany(models.Tag, { through: 'UserTags'} );
};

Tag.associate = models => {
   Tag.belongsToMany(models.User, {through: 'UserTags'});
};

IЯ могу получить все теги, связанные с пользователем:

models.User.findAll({
    include: [
        {
          model: models.Tag,
        }
    ]}).then(function(result) {
        res.send(result)
    })  

Я хочу иметь возможность запросить таблицу UserTags и сопоставить идентификатор каждого тега с его именем.Причина, по которой я хочу это сделать, заключается в том, что я хочу иметь возможность подсчитать, сколько раз тег появляется у всех пользователей.Как мне это сделать?

Я пытался сделать:

models.UserTag.findAll({
    include: [
        {
          model: models.Tag,
        }
    ]}).then(function(result) {
        res.send(result)
    })  

, но sequelize говорит, что между ними нет никакой связи.

...