0

次のように、現在のテーブルによって参照されるテーブルの名前とテーブルの名前を持つファイルがいくつかあります。

table1
table2, table3
-
table 2
table 4

これは、table1 が table2 および table3 を参照し、table2 が table4 を参照することを意味します。キーが「親」テーブルで、子が次のような参照テーブルであるテーブルのツリーを構築するにはどうすればよいですか。

[table4] => array(
    [table2] => array([table1] => null),
)
[table3] => array([table1] => null)

したがって、私の問題は、次のようにファイル内のレコードをツリーに解析する方法を知っていることです。

name    | parent
------------------
table 1 | table 2
table 2 | table 4

しかし、1つのノードに複数の親がある場合、構造を解析してツリー化する最良の方法がわかりません。

4

1 に答える 1

0

私が間違っている場合は修正してください。ただし、テーブルのデザインも必要なテーブルだけでは十分ではありません。したがって、フィールド値とフィールド ID が必要です。そのフィールド ID はおそらく一意の ID であり、同じテーブルまたは別のテーブルを参照できます。たとえば、テーブル 1 にはフィールド タイトルとフィールド ID があります。ID が同じテーブルを参照している場合は、自己結合を使用できます。このモデルは隣接リスト モデルと呼ばれますが、参照の方向がわかりません。

于 2012-08-23T22:33:36.990 に答える