関連モデルの複雑なセットがあります。モデルは結合テーブルを使用して関連付けられ、各テーブルには「順序」と呼ばれる属性があります。親モデル「ページ」にクエリを実行し、関連するモデルを含めることができ、それらの関連を「順序」フィールドでソートする必要があります。
以下は、結果の並べ替え順序には影響しません。
db.Page.findAll({
include: [{
model: db.Gallery,
order: ['order', 'DESC'],
include: [{
model: db.Artwork,
order: ['order', 'DESC']
}]
}],
})
私はあなたができると信じています:
db.Page.findAll({
include: [{
model: db.Gallery
include: [{
model: db.Artwork
}]
}],
order: [
[ db.Gallery, 'order', 'DESC' ],
[ db.Gallery, db.ArtWork, 'order', 'DESC' ]
]
})
「as」も使用し、「createdDate」で並べ替える場合、クエリは次のようになります。
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' ]
]