Привет, я использую 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
говорит, что между ними нет никакой связи.