4

重複の可能性:
レール:列から一意の値を選択します

過去2年間(2011年と2012年)に作成された5000件のレコードがあるとします。これらすべてのレコードをループして、一意の年[2011、2012]のみの配列を返すにはどうすればよいですか?

行には年ごとのラベルが付けられ、レコードの終了と列には月ごとのラベルが付けられたレポートを作成しています。次に、tdには、各年の各月の合計が入力されます。

4

2 に答える 2

5

Railsを参照してください:より多くのRailsアプローチについては、列から一意の値を選択してください。

Model.uniq.pluck(:year)

編集:

あなたの特定の要件のためにあなたはすることができます

 Model.pluck(:created_at).map{|x| x.year}.uniq
于 2012-10-12T22:38:32.003 に答える
1

Model.select("created_at").map{ |i| i.created_at.year }.uniq が機能しています。私はまだそれを行うためのよりクリーンな方法を探しています。

于 2012-10-12T23:00:47.310 に答える