在Rails 4中选择sum和dynamic where语句查询

时间:2017-03-28 15:26:00

标签: ruby-on-rails-4 activerecord rails-activerecord

我在控制器中有以下语句,我想知道如何在Rails 4中重写它

Entry.find(:all, :conditions => [@conditions.keys.join(" AND "), *@conditions.values],:group => "user_id",                                 :select => "SUM(time_spent) AS total_spent")

条件中包含user_id信息,如"user_id=?"

该语句试图找到特定用户ID的条目,并将用户ID和用户ID分组所花费的时间相加。

1 个答案:

答案 0 :(得分:1)

例如,您可以使用它

realations = Entry.where(user_id: [1, 2, 3]).select("SUM(time_spent) as total_spent").group(:user_id)

之后,你可以与之合作

realations.each do |i|
  puts i.total_spent
end