如何在模型中对一个对象所属的to_to在rails中执行.count?

时间:2010-05-12 00:05:26

标签: ruby-on-rails count

我的@contacts_added定义如下:

@contacts_added = Contact.all(:conditions => ["date_entered >?", 5.days.ago.to_date])

每个联系人都属于公司。

我希望能够计算@contacts_added所属的不同公司的数量。 contacts_added将拥有许多属于单个公司的联系人,可通过虚拟属性contacts_added.company_name

访问

我该怎么做?

2 个答案:

答案 0 :(得分:3)

@contacts_added.map(&:company_name).uniq.length

答案 1 :(得分:2)

sql(ORM)解决方案:

@contacts_added_companies = Contact.count(:joins => :company, :conditions => ["date_entered >?", 5.days.ago.to_date], :select => 'DISTINCT(company.id)' )