1
I持って、次の2つのモデル:のRails 3:日付と別の列によってグループ
Requisition
created_date
associate_id
value
Associate
id
name
私は月あたり一つのテーブルを表示するには、方法を考え出すしようとしている/年、例えば:
07/2011
Associate name | Number of requisitions | Total value
associate 1 | 2 | 300
...
08/2011
Associate name | Number of requisitions | Total value
associate 1 | 3 | 450
associate 2 | 1 | 100
...
などとなる。
これは私の現在のコントローラのコードです:
@search = Requisicao.search(params[:search])
temp = @search.all(:conditions => {:status_index => Requisicao::STATUSES.index('aprovada')})
@requisicaos = {}
temp.group_by { |t| t.data_efectiva.beginning_of_month }.each do |data, reqs|
@requisicaos[data] = {}
reqs.each do |req|
@requisicaos[data][req.socio] = [] unless not @requisicaos[data][req.socio].nil?
@requisicaos[data][req.socio] << req
end
end
は私が私のクエリでメタサーチし、別の(取るに足らない)条件を使用しています覚えておいてください。ここで達成するのは、次のようなハッシュのハッシュです。{date1 => {associate1 => [requisition1、requisition2]}}
長いポストについては申し訳ありませんが、私の質問はです。これを行うには、group_byを少しうまく利用するか、またはハッシュ/リストの作成にルビ魔法を使うか、あるいはその両方を行うかのどちらかです。あなたが素敵なテーブルにそれらをフォーマットした後、あなたが望む結果を得るために、直接SQLを使用して逃げることができるかもしれません事前に
おかげで、 ペドロ
することは、あなたが思い付くものは何でも、あなたはあなたのモデルにそれを置く必要があります。http ://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model – Ian