Estoy haciendo algunos cálculos estáticos en mi producto. Un usuario ha realizado una serie de operaciones, digamos comentarios publicados. Quiero poder mostrarles cuántos comentarios publicaron por semana durante el último mes o por mes durante el año pasado.Agrupación por semana/mes/etc. y ActiveRecord?
¿Hay alguna manera con activerecord para agrupar de esta manera? ¿Es mi mejor esfuerzo simplemente hacer esto manualmente - para iterar sobre la suma de registros según mis propios criterios?
class User < ActiveRecord::Base
has_many :comments
end
class Comments < ActiveRecord::Base
belongs_to :user
end
@user.comments(:all).map {|c| ...do my calculations here...}
o hay alguna manera mejor?
gracias! Oren
'group_by' no es un método ActiveRecord, sino más bien un método Ruby en' Enumerable'. – Laurens
Simplemente usando 'u.created_at.month' es más corto –
No cargue todos los registros de la base de datos, cree instancias de objetos ActiveRecord, analice las fechas en los objetos de zona horaria de ActiveSupport, todo para calcular el número de registros. –