Подсчет РАЗЛИЧНЫХ результатов в поиске рельсов - PullRequest
3 голосов
/ 18 марта 2011

Предположим, у меня есть модель только с двумя полями: название и название улицы .

Как бы узнать количество разных * названий улиц * в методе контроллера?

Ответы [ 3 ]

4 голосов
/ 18 марта 2011

Это вернет общее количество различных названий улиц

Model.group(:street_name).all.count

Это вернет упорядоченный хэш с количеством имен на каждой улице

Model.group(:street_name).count
3 голосов
/ 18 марта 2011

Попробуйте!

Model.find(:all,:select => 'DISTINCT street_name').size
3 голосов
/ 18 марта 2011

почему бы вам не сделать 'count_by_sql', где бы вы использовали запрос select count(*) from (select distinct(street_name) from <table_name>)

В противном случае вы можете сделать это в ruby: <ModelName>.all.group_by(&:street_name).size

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...