Создание объектов с иерархией ассоциаций с помощью sequelize

#sequelize.js

#sequelize.js

Вопрос:

Используя sequelize для nodejs, создайте иерархию объектов, в моем случае 3 уровня. Model1 принадлежит Model2, а Model2 принадлежит Model3. Когда я вызываю create, создаются объекты Model1 и model 2, но я понятия не имею, как создать Model3 в базе данных (postgres).

Я попытался включить Model2 в создание Model1, что решило проблему создания Model2. Но я понятия не имею, как включить создание Model3 через model2.

Model1-> Имеет много Model2 -> имеет много Model3

 module.exports = {
    create(req, res) {
        return Model1.create({
            name: req.body.name,
            description: req.body.description,
            status: 0,
            Model2s: req.body.model2s,
        },
            {
                include: Model2
            }
        )
 

Теперь создаются строки Model2, но я не могу создать строку Model3.
Любая помощь приветствуется.

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

1. Это несерьезный вопрос или ни у кого нет ответа?

Ответ №1:

По-видимому, ответ был в конце страницы документа Sequelize Associations, но, как того требует закон маршала, прямо в конце длинного документа.

 `return Product.create({
  title: 'Chair',
  user: {
    firstName: 'Mick',
    lastName: 'Broadstone',
    addresses: [{
      type: 'home',
      line1: '100 Main St.',
      city: 'Austin',
      state: 'TX',
      zip: '78704'
    }]
  }
}, {
  include: [{
    association: Product.User,
    include: [ User.Addresses ]
  }]
});`
 

Оператор include в конце — это не модели, а ассоциации: в моем случае

 `association: Model1.hasMany(Model2),
include: [Model2.hasMany(Model3)]`
 

Надеюсь, это поможет большему количеству людей.