join,join,sorting,sorting

如何使用ORM来写这个查询?

SELECT p.id, p.name, COUNT(c.id) counter FROM Posts p LEFT JOIN Comments c ON c.post_id = p.id WHERE p.rating > 100 GROUP BY p.id HAVING counter > 10 ORDER BY counter DESC LIMIT 5 

尝试这个:

 Post.findAll({ where: {rating: {gt: 100}}, include: [Comments], having: ['COUNT(?) >= ?', '`comment`.`id`', 10] }) 

阅读我的研究这个问题。

我使用sequelize@2.0.0-dev9

由于在查询中有聚合列counter ,我认为没有标准的ORM方法来通过此查询获取实体。 但Sequelize提供了运行原始SQLexpression式和parsing所有需要的模型的结果的方法。 或者甚至更深,你可以parsing答复自己创build复杂的结果,你需要。

这里是这个案例的相关文档: http : //docs.sequelizejs.com/manual/tutorial/raw-queries.html