Имейте несколько деревьев в одной таблице, используя CakePHP Tree Behavior

Я преобразовываю плоский список в дерево в своем приложении CakePHP и обнаружил, что существующее поведение имеет эту функциональность. Моя таблица — это не одно гигантское дерево, а множество деревьев, созданных пользователями: по сути, каждый пользователь может создать свою собственную структуру папок. Однако кажется, что Tree Behavior будет отслеживать только значения lft/rght по всей таблице, как если бы это было одно гигантское дерево. Следовательно, если добавляется новая папка или подпапка, необходимо обновить всю таблицу.

Я ошибаюсь в том, как на самом деле работает поведение дерева, или, если нет, есть ли способ обойти это?

Справочные ссылки:


person 828    schedule 06.01.2010    source источник


Ответы (2)


Это может сработать... BTreeBehavior в пекарне

person neilcrookes    schedule 07.01.2010
comment
Спасибо, но подход с блоком памяти кажется немного излишним. Этот другой подход, который я только что нашел, который вы также прокомментировали, больше похож на то, что я ищу: to-cakephp-1-2s-tree-behavior/" rel="nofollow noreferrer">jamienay.com/2010/01/ В идеале мне нужен своего рода родительский узел, который является поддеревом. родственник тоже. Я думаю, что подход Джейми с внешним ключом может сработать - попробуем сегодня! - person 828; 07.01.2010

Я взял поведение дерева Jamie Nay и превратил его в поведение дерева с ограниченной областью действия. После этого изменения в поведении дерева должны лучше портироваться.

Взгляните на http://pastebin.com/FHwTtPvV.

person Arno    schedule 05.11.2010