0

階層データを 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 を引き続き使用できますか、それとも拡張する必要がありますか?

ありがとうございました!

4

1 に答える 1

0

SluggableTree 動作が必要です

于 2013-10-02T07:53:24.753 に答える