Je fais un peu de calcul statique dans mon produit. Un utilisateur a effectué un certain nombre d'opérations, disons des commentaires postés. Je veux être en mesure de leur montrer combien de commentaires ils ont posté par semaine pour le mois dernier, ou par mois pour l'année écoulée.Regroupement par semaine/mois/etc & ActiveRecord?
Y at-il un moyen avec activerecord de grouper de cette façon? Est-ce que je fais de mon mieux pour le faire manuellement - pour parcourir les records en fonction de mes propres critères?
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...}
ou y a-t-il un meilleur moyen?
merci! Oren
'group_by' n'est pas une méthode ActiveRecord, mais plutôt une méthode Ruby sur' Enumerable'. – Laurens
L'utilisation de 'u.created_at.month' est plus courte. –
Veuillez ne pas charger tous les enregistrements de la base de données, instancier les objets ActiveRecord, analyser les dates dans les objets d'ActiveSupport, uniquement pour calculer le nombre d'enregistrements. –