2011-12-06 7 views
0

私のテーブルに私はイベントと日付を(列名として)持っています。イベントは繰り返すことができます。グループでのグループ

テーブル内の各イベントの数を知りたい。

提案がありますか?

+0

あなたが望むものは明確ではありません。日付でイベントをカウントするか、何か不足していますか? – lucapette

+0

イベントを日付単位でカウントしますか? –

+0

日付ごとにイベントをカウントする必要はありません – vinothini

答えて

1

Event.all.countは、それが

+0

私は合計をカウントしたくありません。私は各イベントカウントが必要です。テーブルイベントでは非常に多くのイベントが繰り返されます。例えば、「The Temper Trap」の第1回イベントと「The Temper Trap」の第10回イベントと「The Temper Trap」の第62回イベントは、「The Temper Trap」イベントのカウントを検出したいという意味です – vinothini

0

あなたはマップを使用することができます実行する必要があります。

Event.map { |event| event.count } 

またはループ:

For event in Event 
    event.count 
end 

または反復:

Event.each do |event| 
    event.count 
end 
1

で列を仮定すると、あなたのイベントモデルは「イベント」です。 (そうでなければ、

x = Event.group(:event).count 

によってグループにカウント数を表すあなたはハッシュがイベントをキーと上記戻り値を好きなことで、「イベント」を置き換える

puts x["The Temper Trap"] # => 3 
0

これを試してみてください:

Event.count(:group => :name) 

イベント名とカウントの順序付きハッシュを返さなければなりません。