node.js - node - sequelize model
Ordenar resultados de modelos cargados de entusiasmo en Node Sequelize (3)
Creo que puedes hacer:
db.Page.findAll({
include: [{
model: db.Gallery
include: [{
model: db.Artwork
}]
}],
order: [
[ db.Gallery, ''order'', ''DESC'' ],
[ db.Gallery, db.ArtWork, ''order'', ''DESC'' ]
]
})
Tengo un conjunto complejo de modelos asociados. Los modelos se asocian utilizando tablas de unión, cada una con un atributo llamado ''orden''. Necesito poder consultar la ''Página'' del modelo padre e incluir los modelos asociados y ordenar esas asociaciones por el campo ''orden''.
Lo siguiente no tiene efecto en el orden de clasificación de los resultados:
db.Page.findAll({
include: [{
model: db.Gallery,
order: [''order'', ''DESC''],
include: [{
model: db.Artwork,
order: [''order'', ''DESC'']
}]
}],
})
Si también usa ''como'' y digamos que quiere ordenar por ''createdDate'', la consulta se ve así:
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'' ]
]