2010-05-08 5 views
0

Comment puis-je traduire ce SQL dans un named_scope? Aussi, je veux que le total des commentaires soit passé à travers un lambda.Traduire l'instruction SQL en named_scope?

« Sélectionner les utilisateurs. , comptent () comme total_comments des utilisateurs, commentaires où (users.id = comments.user_id) et (comments.public_comment = 1) et (comments.aasm_state = 'posté') et (comments.forum_user_id est null) group par users.id ayant total_comments> 25 "

Répondre

1
named_scope :comments_count_gt, lambda { |count| 
    { :select => "users., count() as total_comments", 
    :joins => :comments, 
    :conditions => { :comments => { :public_comment => 1, :aasm_state => 'posted' } }, 
    :group => "users.id", 
    :having => "total_comments > #{count.to_i}" 
    } 
}