1

目標: 分類群内の別の分類法の分類群を表示する

私が持っているもの: Taxanomy1 'Categories' Taxons [ギター、バイオリン、ピアノ] Taxanomy2 'Brands' Taxons [Yamaha, Samick, PROEL]

商品にはカテゴリとブランドの両方があります

Task1: 分類群の表示ページで、@products が持っているブランドを表示したい

タスク 2: ブランド ページにいるときに、現在のブランド製品のカテゴリを表示したい

申し訳ありませんが、私の説明が十分に明確でない場合は

4

1 に答える 1

1
taxon_id = 558398765 # "Current" Taxon
brand_taxonomy_id = 854451436 # Your "Brand" Taxonomy
sql_query  = <<-SQL
SELECT DISTINCT "spree_products_taxons"."taxon_id" FROM "spree_products_taxons" WHERE "spree_products_taxons"."product_id" IN (
  SELECT "spree_products"."id" FROM "spree_products"
  INNER JOIN "spree_products_taxons" ON "spree_products"."id" = "spree_products_taxons"."product_id"
  WHERE "spree_products_taxons"."taxon_id" = #{taxon_id}
)
SQL
taxon_ids = ActiveRecord::Base.connection.execute(sql_query).to_a.map {|tp| tp['taxon_id']}
Taxon.where(id: taxon_ids, taxonomy_id: brand_taxonomy_id).all # All "Brand" taxons for all products in your "Current" Taxon

Task2 についても同様で、最後の行を次のように変更します。

Taxon.where(id: taxon_ids, taxonomy_id: category_taxonomy_id).all # All "Category" taxons for all products in your "Brand" Taxon
于 2013-04-04T08:02:13.787 に答える