#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)]`
Надеюсь, это поможет большему количеству людей.