階層で使用する必要のあるエンティティが複数あります。例として、以下が適用されます。
多数の顧客がいます各顧客には多数の製品があります
モデルからメーカーへの参照を使用して、これらを2つの別々のテーブル(顧客、製品)で表したいと思います。それは十分に単純です、ここに難しい部分があります。これらのエンティティを次のような階層ツリーのさまざまな部分で表す必要があります(特定の部分が繰り返されるノードである場合)。
新製品 └製品1 └写真 └価格 └製品2 └写真 └価格 └製品3 └写真 └価格 お客様 └顧客1 └顧客2 └顧客3
私はあなたがその考えを理解することを望みます。顧客と製品の関係を維持する必要がありますが、それらをツリー内のノードとして表す必要があります。一部のノード(上記の製品など)には、子としてノードのリストコンポジットがあります。すべてのリーフノードには、データベース内にデータを保存する必要があります。
ノードテーブルですべてを表現し、nodes_assocテーブルを作成することを考えました。このようにして、ノードのグループを任意の数の親に関連付けることができます。ただし、この表に顧客と製品の関係を適用するというアイデアはあまり好きではありません。彼らは明らかに、自分の表に存在するのに十分重要であると感じています。
要点をまとめると:
それぞれが複数の製品を持つ複数の顧客各顧客/製品は、階層ツリー内のノード(複数の場所)として表されます。ノードの各グループ(すべての製品)には、ノードの子グループがあります。各リーフノードには、それに対してデータを保存する必要があります(おそらく、そのノードの関連付けの一意のIDだけです)
あなたが助けることができることを願っています、
ありがとう