L'association ActiveRecord sélectionne les enregistrements inclus

Exemple

class User  
  has_many :tickets 
end

Je veux créer une association qui contient la logique de compter les billets de l'utilisateur et de l'utilisation qu'il en comprend (utilisateur has_one ticket_count)

Users.includes(:tickets_count)

J'ai essayé

  has_one :tickets_count, :select => "COUNT(*) as tickets_count,tickets.user_id " ,:class_name => 'Ticket', :group => "tickets.user_id", :readonly => true  

User.includes(:tickets_count)

 ArgumentError: Unknown key: group

Dans ce cas, l'association de la requête à inclure doivent utiliser le comte avec le groupe ...
Comment puis-je mettre en œuvre cette aide de rails?

Mise à jour

  • Je ne peux pas changer de structure de table
  • Je veux AR générer 1 de la requête pour la collecte des utilisateurs avec comprend

Update2

Je sais SQL une je sais comment sélectionner ce avec des jointures, mais ma question est maintenant, comme "Comment obtenir des données" . Ma question est sur la construction de l'association que je peux utiliser en comprend. Grâce

Update3
J'ai essayé de créer une association créée comme utilisateur has_one ticket_count , mais

  1. ressemble has_one n'a pas d'association de soutien aux extensions
  2. has_one ne prend pas en charge :groupe option
  3. has_one ne prend pas en charge finder_sql

source d'informationauteur Fivell