0

データベースに「occurrences」という列があります。ユーザーには、何も入力しないか、1 から 10 までの数字を入力するオプションがあります。また、各ユーザーの (複数のレコードにわたる) すべての発生を総計に追加しようとしています。

パート 1 - 現在のユーザーに対するデータのフィルタリング

@total_occurrences = Event.where(['occurrences <> ?', current_user.id])

ここまでは順調ですね。

パート 2 - 列「occurrences」の数を数える

これにアプローチする方法がわからない...

4

3 に答える 3

1

パート 2 については、次のようなことができます。

sum = 0
Event.where(user_id: current_user.id).pluck(:occurrences).each do |occurrence|
  sum += occurrences
end

Pluck は特定の列のすべての値を引き出します。あとはそれらを足し合わせるだけです。

于 2013-07-28T16:20:02.803 に答える
-1

brendanjcaffrey の答えは、私が探しているものです。

Event.where(user_id: current_user.id).where('occurrences <> 0').pluck(:occurrences).sum

于 2013-07-28T16:22:48.050 に答える