Sie möchten in Rails 3 Datensätze ohne verknüpfte Datensätze finden

Betrachten Sie einen einfachen Verband...

class Person
   has_many :friends
end

class Friend
   belongs_to :person
end

Was ist der sauberste Weg, um alle Personen, die KEINE Freunde haben, die in ARel und/oder meta_where?

Und was ist dann eine has_many :through version

class Person
   has_many :contacts
   has_many :friends, :through => :contacts, :uniq => true
end

class Friend
   has_many :contacts
   has_many :people, :through => :contacts, :uniq => true
end

class Contact
   belongs_to :friend
   belongs_to :person
end

Ich wirklich nicht wollen, zu verwenden counter_cache - und ich von dem, was ich gelesen habe, es funktioniert nicht mit has_many :through

Ich will nicht zu ziehen den ganzen person.friends records und eine Schleife in Ruby - ich möchte eine Abfrage/Rahmen, die ich verwenden können, mit der meta_search gem

Ich nicht Sinn der Leistung Kosten der Abfragen

Und je weiter Weg vom eigentlichen SQL-desto besser...

InformationsquelleAutor der Frage craic.com | 2011-03-15

Schreibe einen Kommentar