1

私たちのオンライン ショップ (PHP/MySQL) では、Bill Karwin によって説明されているように、カテゴリ構造に推移閉包テーブル (祖先、子孫、長さ) を使用しています。

非常に柔軟で便利だと思いますが、再帰なしで完全なカテゴリ ツリーを出力する方法がわかりません。これは可能ですか?

たとえば、次のような出力が必要です。

  • オーディオ
    • ポータブル
      • MP3
  • コンピューティング
    • 光学ドライブ
      • DVD-RW
    • 入力デバイス
      • 無線
        • キーボード
  • 家庭用器具
  • テレビ
    • 液晶
      • ワイドスクリーン
    • ブラウン管

必要に応じて、カテゴリの深さの合計によって制限します。

これはこのモデルの制限ですか、それとも回避する方法はありますか? 現在、再帰を使用して結果をキャッシュしています。

4

1 に答える 1

2

再帰は、それを行う最も簡単な方法です。特に表示用の場合はそうです。

または、この回答のアドバイスのリングに沿ってMySQLから実行できます。階層カテゴリツリーでノードとそのアンカーのすべての兄弟を見つけるにはどうすればよいですか?

于 2011-06-30T11:55:05.030 に答える