Frage

Ich habe zwei Modelle bekam, zusammen mit einem Hat und gehört Viele Tisch kommen. Hier können diese Modelle User und Ereignis nennen. Die Mehrheit der Nutzer haben 0 Ereignisse, während einige ein oder mehr haben. Ich möchte so etwas wie:

User.find (: alle,: Joins =>: Veranstaltungen: conditions => [ "? 'Etwas, das die Ereignisse zählt' >"], 0 )

Das Problem ist, ich bin nicht sicher, wie nur Benutzer auswählen, die 1 oder mehrere assoziierte Ereignisse haben.

War es hilfreich?

Lösung

Ich habe die Antwort gefunden:

User.find(:all, :joins => :events, :select => 'DISTINCT `users`.*')

Grundsätzlich ist die users. * Schränkt die Ergebnismenge nur die Benutzer-Tabelle an, und das Schlüsselwort distinct stellt sicher, dass jeder Benutzer nur einmal zurückgegeben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top