trait Tree
trait Tree

Подключается поверх ActiveRecord. Реализует часто используемые операции для работы с деревом. Применим для структуры дерева на основе одной таблицы (например, для таблицы categories родитель определяется полем category_id).
Методы:

*  parent - возвращает объект родителя, или пустой объект ($obj->is_empty === true).
*  subtree_ids - возвращает массив id всех дочерних элементов текущего объекта, включая сам текущий объект. Работает без рекурсии, содержит защиту от бесконечного цикла.
*  subtree - возвращает объект, содержащий список всех дочерних элементов текущего объекта, включая сам текущий объект. Использует результат subtree_ids.
*  suptree_ids - возвращает массив id всех родительских элементов текущего объекта, включая сам текущий объект. Работает без рекурсии, содержит защиту от бесконечного цикла.
* suptree - возвращает объект, содержащий список всех родительских элементов текущего объекта, включая сам текущий объект. Использует результат suptree_ids.
ramainen/doit-cms,ramainen/doit-cms,ramainen/doit-cms