используйте named_scope для выбора в соответствии со значением счетчика - PullRequest
0 голосов
/ 11 июня 2011

Например, скажем, у меня есть что-то вроде BlogCategory, у которого есть HABTM с BlogPost, и я хочу выбрать только BlogCategories, которые фактически использовались в BlogPost

named_scope :published, {
  :include    => :blog_posts,
  :select     => 'blog_categories.*, count(blog_posts.id) as post_count',
  :group      => 'blog_categories.id having post_count > 0',
  :conditions => 'blog_posts.published = 1',
}

Проблема, с которой я столкнулся, заключается в том, что: select часть этого, похоже, полностью игнорируется rails, поэтому поле count не попадает в запрос, и я получаю сообщение об ошибке "Unknown column" post_count 'в' имеющей оговорку ''

1 Ответ

1 голос
/ 11 июня 2011

Я не знаю, почему он не распознает post_count, но он должен работать с:

  :group      => 'blog_categories.id having count(blog_posts.id) > 0',
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...