On Thu, Jan 24, 2013 at 4:35 PM, Werner <[email protected]>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
>
Look at
http://api.rubyonrails.org/classes/ActiveRecord/Calculations.html#method-i-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 [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.