0
我正在尋找一種有效的方式來檢索類別樹以顯示與產品搜索結果。渴望加載祖先樹多葉
產品可以有一個或多個類別(葉類別的多對多關係)。這個想法是根據找到的每個類別的唯一ID重建祖先樹。我目前使用由行爲作爲嵌套集gem提供的ancestors
幫助程序,但是它具有爲每個類別進行點查詢的缺點。理想情況下,它將在單個查詢中檢索給定類別的所有祖先。有任何想法嗎?
def search
@search_result = @store.products.includes(:categories).where("title LIKE ? ", "%#{params[:query]}%")
# retrieving all leaf categories for the products above
unique_ids = @search_result.map { |p| p.categories.map { |c| c.id }}.flatten!.uniq!
@leaf_categories = Category.where(id: unique_ids).map { |c| c.ancestors }
end