Ich habe dieses Bit Code und ich bekomme ein leeres Objekt.Gruppieren und zählen in Rails
@results = PollRoles.find(
:all,
:select => 'option_id, count(*) count',
:group => 'option_id',
:conditions => ["poll_id = ?", @poll.id])
Ist dies die richtige Art, die Abfrage zu schreiben? Ich möchte eine Sammlung von Datensätzen mit einer Options-ID und der Häufigkeit, mit der diese Options-ID im PollRoles-Modell gefunden wird.
EDIT: Dies ist, wie I''m durch die Ergebnisse iterieren:
<% @results.each do |result| %>
<% @option = Option.find_by_id(result.option_id) %>
<%= @option.question %> <%= result.count %>
<% end %>
Wie verhält sich eine PollRole zu einer Option? Warum druckst du eine neue Frage für jede Option? Würden sich nicht viele "Optionen" auf dieselbe Frage beziehen? Es würde mir helfen, Ihnen eine bessere Antwort zu geben, wenn Sie die grundlegenden 'has_many',' gehört_to' Deklarationen zeigen und ein bisschen mehr Erklärung des Problems, das Sie zu lösen versuchen, hinzufügen. – austinfromboston