Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
Watched Topics
FAQ
Поиск
Пользователи
Группы
Регистрация
Профиль
Войти и проверить личные сообщения
Вход
Список форумов Cake-PHP.ru
->
Общий
Редактировать сообщение
Имя
Тема
Сообщение
Смайлики
Дополнительные смайлики
Цвет шрифта:
По умолчанию
Тёмно-красный
Красный
Оранжевый
Коричневый
Жёлтый
Зелёный
Оливковый
Голубой
Синий
Тёмно-синий
Индиго
Фиолетовый
Белый
Чёрный
Размер шрифта:
Размер шрифта
Очень маленький
Маленький
Обычный
Большой
Огромный
Закрыть теги
Хмм... могу предложить немного другой вариант рекурсии на примере иерархии меню (menu_id - поле, хранящее ID предка) [code] /** * Выстраивает рекурсивную последовательность из всех потомков для заданного ID. * @param $curr_id - текущий ID * @param array $ids - массив ID, в который будут добавляться ID потомков */ function recurse($curr_id,&$ids){ // получаем всех потомков для текущего элемента $this->Menu->recursive = 0; $_childs = $this->Menu->findAll("menu_id=".$curr_id,"id"); $childs = array(); // преобразуем перечень потомков в обычный список foreach ($_childs as $_child) { array_push($childs,$_child["Menu"]["id"]); } // для каждого из потомков выполним ту же операцию... if($childs != null){ foreach ($childs as $child) { $this->recurse($child,$ids); } } // а если мы попали сюда, значит потомков нет, это меню нижнего уровня и его можно добавлять // в список на удаление. Ну а дальше - рекурсивный возврат array_push($ids,$curr_id); }[/code] Использование в удалении: [code] $ids = array(); $this->recurse($id,$ids); foreach ($ids as $id) { $this->Menu->del($id); }[/code]
Настройки
HTML
ВЫКЛЮЧЕН
BBCode
ВКЛЮЧЕН
Смайлики
ВКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Отключить в этом сообщении смайлики
Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к
Администратору
.
Код подтверждения: *
Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.
Часовой пояс: GMT + 3
Перейти:
Выберите форум
CakePHP Форум
----------------
Общий
Установка и настройка
Творчество
Вопросы и пожелания
Комментарии к главам руководства по CakePHP 1.1
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Если ничего интересного не нашли, можно рекламу почитать, а рекламируется у нас сегодня «».