2017-10-17 14 views
0

私はこのようなものですProductGuideDocumentの単純なモデルがあります:Railsのアクティブなレコードの照会、ネストされた協会の存在

Productは、多くのGuidesGuideている私が探しているクエリであるDocuments

多く持っているがドキュメントが含まれている場合にのみ商品を返品することができます。

Product.joins(:guides).distinctは、少なくともガイド付き製品を提供していますが、ネストされたレベルを追加する方法はありますか?

答えて

2
Product.joins(guides: :documents).distinct 

あなたのモデルがhas_many関連付けを設定している、あなたのテーブル名が標準装備され、そしてそれは、クエリを生成する必要があると仮定:

SELECT DISTINCT "products".* FROM "products" 
INNER JOIN "guides" ON "guides"."product_id" = "products"."id" 
INNER JOIN "documents" ON "documents"."guides_id" = "guides"."id" 

(クエリは、SQLの味に基づいて変化します、あなたは、これはPostgres用です)

関連する問題