How this query can be written using ORM?
SELECT p.id,
p.name,
COUNT(c.id) counter
FROM Posts p
LEFT JOIN Comments c
ON c.post_id = p.id
WHE
Try this:
Post.findAll({
where: {rating: {gt: 100}},
include: [Comments],
having: ['COUNT(?) >= ?', '`comment`.`id`', 10]
})
Read my research by this question.
i use sequelize@2.0.0-dev9
Since there is aggregated column counter
in your query I think there is no standard ORM method to fetch entities by this query. But Sequelize provide the way to run raw SQL expression and parse results in any model you need. Or even deeper you can parse response yourself creating as complex result as you need.
Here is related docs for this case: http://docs.sequelizejs.com/manual/tutorial/raw-queries.html