Как вы соединяете 3 таблицы в последовательности, которые не все связаны

#node.js #sequelize.js

Вопрос:

У меня есть 4 таблицы Свойств, Единиц, Аренды, Аренды.

Единицы Аренда Аренда
Свойство ид UnitID Аренда

все они связаны с идентификатором последнего.

У меня такие отношения устроены вот так

 Properties.hasMany(Units);
Units.belongsTo(Properties);

Units.hasMany(Leases);
Leases.belongsTo(Units);

Leases.hasMany(LeaseRates);
LeaseRates.belongsTo(Leases);
 

Есть ли простой способ секвенировать для меня запрос LeaseRates через propertyId ?

Ответ №1:

 <pre>
await properties.findOne({
       where: { id },
       include: [{
         model: model.Unit, as: 'unit',
         attributes: ['id'],
         include: [{
           model: model.Leases, as: 'leases',
           attribute: ['id'],
           include: [{ model: model.LeaseRates, as: 'leaserates' }]
         }]
       }]
     })
</pre>