1

私はかなりの数の 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

ある値に一致する識別子を持つ子製品を持つすべての製品を取得したいと考えています。

私はこれで自分自身をプレッツェルにひねりました。簡単に思えますが、私はあまりにも長い間見てきました. どんな助けにも感謝します!

4

1 に答える 1

0

とった!

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

それはうまくいきます。ハッシュ結合を参照してください。それが私を捨てていたものです。

于 2010-11-21T03:10:46.787 に答える