0

如果一个User has_many Items. 并且可以通过将 items 中的:published属性设置为 来发布项目true

如何获得每个创建项目的用户平均发布项目数?

我有一个名为 的项目范围published,因此您可以通过以下方式获取所有已发布的项目:

@items = Item.published
@items = @user.items.published
4

1 回答 1

1

一种方法是:

   avg = Item.published.count.to_f / User.count

编辑:

试试这个:

  @published_items = User.joins(:items).where('items.published = ?', true)
  avg = @published_items.count.to_f / @published_items.all(:select => 'distinct users.*').count

或者:

  avg = Item.published.count.to_f / User.joins(:items).where('items.published = ?', true).all(:select => 'distinct users.*').count
于 2013-03-20T18:38:20.377 回答