我有四个模型 Tehsil、Ilr、Patwar 和 Villages。 他们的关联是
Tehsil -> 1:m -> Ilr -> 1:m -> Patwar -> 1:m -> 村庄
我想在我的所有四个模型上应用 order by。
查询:
var tehsilQuery = {
include: [{
model: Ilr,
as: 'GirdawariKanoongo',
include: [{
model: Patwar,
as: 'GirdawariPatwar',
include: [{
model: Villages,
as: 'GirdawariVillages',
}]
}]
}],
order: [
['tehsil_name', 'ASC'],
[ {model: Ilr, as: 'GirdawariKanoongo'}, 'kanoongo_name', 'ASC'],
[ {model: Patwar, as: 'GirdawariPatwar'}, 'patwar_area', 'ASC'],
[ {model: Villages, as: 'GirdawariVillages'}, 'village_name', 'ASC'],
]
};
return Tehsils.findAll(tehsilQuery);
[Error: 'girdawari_patwar' in order / group clause is not valid association]
如果我从 order
中删除 Patwar
和 Villages
(lat 两个模型),order by 就可以工作。
最佳答案
另一个使用嵌套排序的工作示例:
order: [
[ { model: chapterModel, as: 'Chapters' }, 'createdAt', 'ASC'],
[ { model: chapterModel, as: 'Chapters' },
{ model: partModel, as: 'Parts' }, 'createdAt', 'ASC']
],
其中部分和章节具有 M:1 关系。
关于node.js - 在 Sequelize 中的嵌套急切加载中排序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40202540/