Résultats de commande de modèles très chargés dans le Node Sequelize

J’ai un ensemble complexe de modèles associés. Les modèles sont associés à l’aide de tables de jointure, chacune avec un atsortingbut appelé «order». Je dois pouvoir interroger le modèle parent ‘Page’ et inclure les modèles associés, et sortinger ces associations par le champ ‘order’.

Ce qui suit n’a aucun effet sur l’ordre de sorting des résultats:

db.Page.findAll({ include: [{ model: db.Gallery, order: ['order', 'DESC'], include: [{ model: db.Artwork, order: ['order', 'DESC'] }] }], }) 

Je crois que vous pouvez faire:

 db.Page.findAll({ include: [{ model: db.Gallery include: [{ model: db.Artwork }] }], order: [ [ db.Gallery, 'order', 'DESC' ], [ db.Gallery, db.ArtWork, 'order', 'DESC' ] ] }) 

Si vous utilisez également ‘as’ et si vous voulez commander par ‘createdDate’, la requête ressemble à ceci:

 DbCategoryModel.findAll({ include: [ { model: DBSubcategory, as: 'subcategory', include: [ { model: DBProduct, as: 'product', } ], } ], order: [ [ {model: DBSubcategory, as: 'subcategory'}, {model: DBProduct, as: 'product'}, 'createdDate', 'DESC' ] ] }) 
 order: [ [ db.Sequelize.col('order'), 'DESC'], /*If you want to order by page module as well you can add this line*/ [ db.Gallery, db.ArtWork, 'order', 'DESC' ] ]