1

ここ数日間、私が現在立ち往生している問題があります。そして、対処方法に関するガイダンス/アプローチを探しています。ヒントと提案を歓迎します。ここに問題があります。データベースには、2 つの列を持つテーブル「group」があります: group_id on parent_group_id.group_id はテーブルのプライマリ キーです。このテーブルのすべてのエントリはグループ/サブグループを表します。フロント エンドからサブグループを追加すると、自動生成された group_id を持つエントリがグループ テーブルに挿入されます。 MySQL が生成するもの。グループ テーブルからのデータ。これは私が立ち往生している場所です.私はそれが書かれる必要がある再帰関数になることを知っていますが、ノードを動的に作成し、同時にDbからデータを埋める方法を理解することはできません.最後のXMLはjson データとしてフロントエンドに送信されます。

グループはnサブグループを持つことができ、階層は続くことができます.例えば、車両はgroup_id = 1のルートノードであるとします.サブグループとして車と自転車を持つことができます.そのため、車と自転車のparent_group_idは1になります.グループ ID は、それぞれ 2 と 3 になります。

PS: 過去 1 年間このサイトを使用しており、ここに投稿するのはこれが初めてです。さらに情報が必要な場合、または私の問題を理解できるかどうかをお知らせください。

4

2 に答える 2

1

再帰関数を使用してそれを解決することができました:)。エンティティクラスを使用してすべてのデータをロードし、再帰関数を使用してデータを繰り返し処理して、構造のようなツリーを構築しました。SQLの方法を試してみませんでした。

于 2012-10-29T16:37:21.393 に答える
1

タスクを 2 つに分割すると、より管理しやすくなります。

リレーショナル データベース、特に MySQL での階層データのクエリに関する便利なリンクを次に示します。

リレーショナル データベースに階層データを格納するためのオプションは何ですか?

http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

http://www.slideshare.net/billkarwin/models-for-hierarchical-data

http://en.wikipedia.org/wiki/Common_table_expressions#Common_table_expression

クエリ結果が適切にソートされている限り、XML ツリーを段階的に構築しながら再帰的にトラバースできます。

于 2012-10-22T15:54:13.160 に答える