Всем привет!
Я так понял в AR нет поддержки nestedSet, типа как он есть в Propel 1.3 и Doctrine
А может кто нибудь уже писал behavior для работы с деревьями
Всем привет!
Я так понял в AR нет поддержки nestedSet, типа как он есть в Propel 1.3 и Doctrine
А может кто нибудь уже писал behavior для работы с деревьями
есть у меня обработка дерева. но наверно спецефична и
заточена сугубо под меня
эээ… а чуть поподробней можно?
Я просто думаю, может имеет смысл взяться и портировать в YII аналог работы с деревьями как сделано в Propel 1.3, хотя бы самый необходимый минимум
retrieveTree
setScopeId
insertAsLastChildOf
etc…
извини, я не разбираюсь в твоей терминологии.
для работы с деревом меню использую свою
наработку. мне вполне хватает. гляди картинку
я говорю об организации БД и о методах по работе с деревом.
Отображение (в твоем примере) это уже вторично.
Самый простой способ организовать дерево - добавить поле parent_id и рекурсией "раскручивать" дерево. Этот метод прост но очень медленен.
Вот немного теории по альтернативной работе с деревьями, такой функционал хочется видеть в YII
Интересно
Я всегда "тупо" делал. Статья на сайтпоинте попадалась, но я особо не вникал. Прикольно. Ну тут по ходу надо расширять класс ActiveRecord, по-другому никак. Как может помочь поведение я не сзнаю, оно ж на события реагирует.
Одним запросом получить ветку дерева соблазнительно, не правда ли?
Ну всякие "вкусности" по работе с деревом типа "если ли детки?", "есть ли соседи?" итп, думаю тоже не лишние.
Дело в том что в Симфони есть плагин, содержащий behavior, реализующий такую работу с деревьями
http://www.symfony-p…tbehaviorPlugin
Вот он как раз раз срабатывает при сохранении записи и делает если надо смешение записи в дереве.
Надеюсь найду время попробовать сделать что то такое в YII