Ruby on Rails Thursday, January 24, 2013



On Thu, Jan 24, 2013 at 4:35 PM, Werner <webagentur.laude@googlemail.com> wrote:
Hi.. I need some support...

table:
week_id, user_id, project_id, hours
ex. =>
33, 2, 1, 10
34, 2,1,15
33, 2, 2, 20
35, 3, 1,20
etc.

Want to display a sum of hours per week_id per user_id
I have:

@hours = HourUser.includes(:user).group_by { |h| h.week_id }

@hours.keys.sort.each do |hour|
@hours[hour].collect(&:stunden).sum


sums = HourUser.sum(:hours, group: [:week_id, :user_id], order: :user_id)

You'll end up with something like [33, 2] => 70, [34, 2] => 15, [35, 3] => 20
Just remember that to get a certain value, you'll have to pass an array as the index
ie sums[[33,2]] to get 70

 

Hours are summed up, but not sorted by user_id..
How to get that?

Thanks
Werner





--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/nIwEcQd5RUMJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
-------------------------------------------------------------
visit my blog at http://jimlabs.heroku.com

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment