これはコミュニティの最初の投稿であり、問題があります:カテゴリのツリーを表します。多対多自己参照ruby-on-rails
最初の解決策:各カテゴリには親カテゴリへの参照があります。 このソリューションの問題点は、カテゴリのサブツリーが必要なときに、データベースを何度もクエリしなければならないということです。ツリーのレベル(高さ)ごとに1つのクエリがあります。
選択したソリューション:私はこのような一つだけのクエリが必要ですサブツリーを構築するためのカテゴリー(ID、名前、説明)とCategoryxCategory(ancestor_id, descendant_id
) それで、私がやった
select * from category a, categoryxcategory b.where b.ancestor_id = 1 and
b.descendant_id = a.id , gets all sub-categories of the category with id = 1.
このhibernateを使ったjavaの解決策ですが、私はRailsでやり遂げることができませんでした。どうすれば移行とActiveRecordでこれを指定できますか?
多くのおかげ
実際に私は、データベース内の単一のクエリでサブツリーを構築したいので、このソリューションを実行すると、高さ> 2のサブツリーを取得するためにデータベースを何度もクエリする必要があります。この宝石を試してみます –
本当に私を助けてくれるトピックを完成させるためには、[Ancestry](http://rubygems.org/gems/ancestry)でした。お手伝いありがとう –