간단한 연관성을 고려하십시오 ...
class Person
has_many :friends
end
class Friend
belongs_to :person
end
ARel 및 / 또는 meta_where에 친구가없는 모든 사람을 얻는 가장 깨끗한 방법은 무엇입니까?
그리고 has_many : through 버전은 어떻습니까?
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와는 작동하지 않습니다 :
모든 person.friends 레코드를 가져 와서 Ruby에서 반복하고 싶지 않습니다. meta_search gem과 함께 사용할 수있는 쿼리 / 범위를 갖고 싶습니다.
나는 쿼리의 성능 비용을 신경 쓰지 않는다
실제 SQL에서 멀수록 멀수록 좋습니다.