ネストされたセット ツリー (各カテゴリの 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 より大きいか等しくなります)