我使用“ sequelize”。在数组中,我存储用户ID。我需要按数组中元素的数量进行排序,也就是说,数组中的元素越多,列表中的元素就越高,数组中的元素对我来说就不那么有趣了。
return db.Books.findAll({
limit: 5,
include: [{
model: db.User
}],
order: [
['likes'] // likes it's array
]
})
};
答案 0 :(得分:0)
要获得按与之关联的任意模型实例的数量排序的书籍清单,我们假设Like
,您可以使用函数来计算Like
中与该关系相匹配的行:
return db.Books.findAll({
limit: 5,
include: [{
model: db.User
},
{
model: db.Like,
attributes:[
[Sequelize.fn('COUNT', '*'), 'num_of_likes']
]
}],
order: [
['num_of_likes'] // likes it's array
]
});