2010-11-21 2 views
1

상당 수의 AREL 문을 작성했지만이 문서에서는 매듭을 짓고 있습니다. 여기 내 상황이 있습니다 :자체 참조 테이블에 AREL 문을 작성하는 방법

class Product < AR::Base 
    has_many :parents, :class_name => "ProductLink", :foreign_key => :to_product_id 
    has_many :children, :class_name => "ProductLink", :foreign_key => :from_product_id 

    # has an attribute called "identifier" 

end 

class ProductLink < AR::Base 
    belongs_to :parent, :class_name => "Product", :foreign_key => :from_product_id 
    belongs_to :child, :class_name => "Product", :foreign_key => :to_product_id 
end 

일부 값과 일치하는 식별자를 가진 하위 제품이있는 모든 제품을 검색하려고합니다.

나는 이것으로 프레첼로 몸을 익히고 쉽지만, 나는 너무 오랫동안 그것을보고 있었다. 어떤 도움을 주셔서 감사합니다!

답변

0

알 수 있습니다.

brand.products.joins(:children => :child).where(:children => { :child => { :searchable_identifier.matches => "2136" } }) 

멋진 작품입니다. 해시 된 조인을 참조하십시오. 그게 날 때리는거야.

+0

Symbol에 'matches'를 호출 할 수 없습니다 ...? – rwb