我有四个模型 Tehsil、Ilr、Patwar 和 Villages.他们的关联是
i have four model Tehsil, Ilr, Patwar, and Villages. and their association is
Tehsil -> 1:m -> Ilr -> 1:m -> Patwar -> 1:m -> 村庄
Tehsil -> 1:m -> Ilr -> 1:m -> Patwar -> 1:m -> Villages
我想对我的所有四个模型应用 order by.
i want to to apply order by on all four of my models.
查询:
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 by is working if i remove Patwar and Villages(lat two model) from order.
推荐答案我解决了.order 的外观如下:
i solved it. here's how order looks:
order: [ 'tehsil_name', 'GirdawariKanoongo.kanoongo_name', 'GirdawariKanoongo.GirdawariPatwar.patwar_area', 'GirdawariKanoongo.GirdawariPatwar.GirdawariVillages.village_name' ]我所要做的就是:使用 as 关联表并将它们链接起来,然后是 order 应该应用的 column_name.
all i have to do is: using the as in association of table and chaining them followed by column_name on which order supposed to apply.
更多推荐
在 sequelize 中的嵌套急切加载中排序不起作用
发布评论