0

ネストされたセット ツリー (各カテゴリの lft、rgt、および lvl 属性) として格納されているカテゴリのツリーを持つ Web ショップがあります。

私がやりたいことは、特定のタイプの製品を含むすべてのカテゴリを完全なツリーとして表示することです。個別の SQL または結合を使用して、問題のすべてのカテゴリの Id を簡単に取得できます。問題は; 深い子カテゴリのみを取得します。本当に必要なのは、そのカテゴリのフル パスです。

例 ( SELECT * FROM categories ORDER BY lft):

  • 音楽
    • LP
    • CD
  • 映画
    • VHS
    • DVD
  • 書籍
    • ペーパーバック
    • ハードカバー

新しい素材を含むカテゴリを表示したいのですが、たまたま DVD と LP だけだったとします。

( SELECT * FROM categories WHERE new > 0 (OR IS PARENT OF SUCH) ORDER BY lft):

  • 音楽
    • LP
  • 映画
    • DVD

誰かが助けてくれることを願っています、事前に感謝します!

(単なる好奇心から: 数値を上向きに累積することは可能ですか? たとえば、「新しい」カウンター? そのため、music.new は常に LP.new より大きいか等しくなります)

4

0 に答える 0