階層データを mysql テーブルに保存する必要があります。CakePHP 2.2.4 を使用しています。
CakePHP doc でこの良い動作を見つけました: http://book.cakephp.org/2.0/en/core-libraries/behaviors/tree.html
使い方は理解できましたが、別のパラメーターを使用してカテゴリを検索したいので、説明させてください。
次の Mysql テーブルがあるとします: (これは、Behavior doc PLUS slug列で報告されているものと同じです:
CREATE TABLE categories (
id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
parent_id INTEGER(10) DEFAULT NULL,
lft INTEGER(10) DEFAULT NULL,
rght INTEGER(10) DEFAULT NULL,
name VARCHAR(255) DEFAULT '',
slug VARCHAR(255) DEFAULT '',
PRIMARY KEY (id)
);
このスラッグ列には、カテゴリの実際の「パス」が含まれます。例:
www.example.com/controller/action/slug
ご覧のとおり、URL で実際の名前 (カテゴリの番号ではない) を渡す必要があります。
次に、私の目的は、そのカテゴリ (スラッグ) のすべての TREE を取得することです。
現時点では、TreeBehaviorは ID を渡すことでカテゴリをフィルタリングします。ID を渡すことができません。スラッグを渡す必要があります
質問は:
TreeBehavior を引き続き使用できますか、それとも拡張する必要がありますか?
ありがとうございました!