Упорядочить внутреннее соединение для «многие ко многим»

#javascript #mysql #orm #sequelize.js

#javascript #mysql #orm #sequelize.js

Вопрос:

Я новичок в использовании ORM (Sequelize с MySQL) и не могу разобраться в реализации этого запроса:

 SELECT 
  people.*
FROM people
INNER JOIN people_tags ON people.person_id = people_tags.person_id
WHERE people_tags.tag_id = 14"
  

Я ищу людей на основе tag_id.
Модели определены правильно, я могу получить атрибут тегов, прикрепленный к ответу пользователя.
Вот что я попробовал:

 Person.findAll({
    include: {
      model: db.tag,
      required: true,
      where: {
        person_id: db.Sequelize.col('person.person_id')
      }
    },
  })
  .then(data => {
    res.send(data);
  })
  .catch(err => {
    res.status(500).send({
      message: err
    });
  });
  

Комментарии:

1. Разве не where: { person_id: db.Sequelize.col('person.person_id') } должно быть where: { person_id: 14 } ?

2. @Anatoly Очевидно, что нет, поскольку 14 использовался в качестве примера для запроса.