Это приведет к 2 запросам, а не подзапросу.
отрим простую ассоциацию ...
class Person
has_many :friends
end
class Friend
belongs_to :person
end
Какой самый чистый способ получить всех людей, у которых НЕТ друзей в ARel и / или meta_where?
А потом насчет has_many: через версию
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
Я действительно не хочу использовать counter_cache - и я из того, что я прочитал, не работает с has_many: through
Я не хочу извлекать все записи person.friends и перебирать их в Ruby - я хочу иметь запрос / область, которую я могу использовать с гемом meta_search
Я не против стоимости выполнения запросов
И чем дальше от реального SQL, тем лучше ...