次のように、現在のテーブルによって参照されるテーブルの名前とテーブルの名前を持つファイルがいくつかあります。
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つのノードに複数の親がある場合、構造を解析してツリー化する最良の方法がわかりません。