К основному контенту

Сообщения

Показаны сообщения с ярлыком "TreeBehavior"

Частичный переезд

Я решил оживить домен handmadesite.net и переношу все посты про Shop-Script, Cake, ZendFramework, PHP и т.п. туда. А то мой “уютный дневничок” стал похож непойми на что. :-) Ну и еще там можно подписываться на каменты, да и вообще… Счас потихоньку все более менее свежие тематические посты дублирую туда, а здесь запрещаю их комментарии. Вот. Велкам всем, кому интересна эта тематика. :-)

Используем TreeBehavior в CakePHP 1.2

Это вовсе не полное руководство, а пара замечаний к практическому использованию. TreeBehavior – весьма полезный компонент CakePHP, реализующий паттерн Nested Sets для указанной модели. Если что-то непонятно, то вот ссылки: Про паттерны древовидных структур Что такое Behavior в CakePHP 1.2 TreeBehavior TreeBehavior позволяет хранить несколько корневых элементов, у которых родительский id равен NULL. Не поддавайтесь искушению – для себя сделайте отдельный корневой элемент. Большинство функций, например Model::children не работают с идентификатором записи равной NULL. Поэтому, если возникнет необходимость получить всех потомков корня, придется сначала выбрать самостоятельно все элементы с parent_id=NULL, а потом для каждого из них вызвать Model::children(). То есть, если создается, скажем, структурированный каталог сайтов, не надо поддаваться искушению добавить основные разделы, как корневые – создайте сначала “совсем-совсем” корневой элемент с именем, скажем, ROOT,...