Усовершенствованное количество и участвует в направляющих

Я - попытка найти вершину n количество категорий, поскольку они касаются статей, существует habtm отношения, настроенные между двумя. Это - SQL, который я хочу выполнить, но не уверено в том, как сделать это с ActiveRecord кроме использования find_by_sql метод. есть ли любой способ сделать это с методами ActiveRecord:

SELECT 
  "categories".id, 
  "categories".name, 
  count("articles".id) as counter 
FROM "categories"
JOIN "articles_categories" 
  ON "articles_categories".category_id = "categories".id
JOIN "articles" 
  ON "articles".id = "articles_categories".article_id
GROUP BY "categories".id
ORDER BY counter DESC
LIMIT 5;
5
задан Matt Fenwick 1 November 2012 в 17:28
поделиться

1 ответ

Вы можете использовать find с опциями для достижения того же запроса:

Category.find(:all, 
  :select => '"categories".id, "categories".name, count("articles".id) as counter', 
  :joins => :articles, 
  :group => '"categories".id', 
  :order => 'counter DESC', 
  :limit => 5
)
9
ответ дан 14 December 2019 в 01:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: