Как создать дерево внутри forloop php

Я использую cakephp 3.6, и у меня есть таблицы модулей в базе данных mysql.

Я хочу создать вложенную древовидную структуру внутри цикла foreach. Но я не понимаю, как построить цикл в древовидном формате.

Пожалуйста, помогите мне это сделать.

Ниже приведена структура моей таблицы

id    parent_id  alias
119    NULL     Controllers
120    119      Clients
121    120       add
122    120       Edit
123    119      Users
124    123       add
125    123       Edit

ожидаемый результат

Clients
 --add
 --Edit
 Users
 --add
 --Edit

Ниже мой код

<?php if (!empty($modulelist)) { foreach ($modulelist as $name){  ?>
    <li class = "last dd-item">
            <input type = "checkbox" name = "short" id = "short">
            <label for = "short" class = "custom-unchecked">Clients</label>     
        <ul>
             <li class = "dd-handle">
                 <input type = "checkbox" name = "short-1" id = "short-1">
                 <label for = "short-1" class = "custom-unchecked">add</label>
             </li>
             <li class = "dd-handle">
                 <input type = "checkbox" name = "short-2" id = "short-2">
                 <label for = "short-2" class = "custom-unchecked">edit</label>
             </li>
        </ul>
    </li>
<?php }} ?> 
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Хорошо, вы можете использовать дерево поведения ORM.

https://book.cakephp.org/3.0/en/orm/behaviors/tree.html

На основе родительского идентификатора он автоматически сгенерирует ДЕРЕВО.

Да, он работает правильно, но мне нужно передать жестко запрограммированный идентификатор, например, $ Потомки = $ категории-> find ('children', ['for' => 119]) -> find ('threadaded') -> toArray (); Что, если мне не нужно передавать 119 для bcoz, у меня много данных в таблице, и они могут измениться, если я загружу их на сервер, тогда ??

Rajnikant Bajpai 19.07.2018 12:33

Вы имеете в виду первый или базовый узел, который нужно передать в дерево? верно ?

Naveed Ramzan 19.07.2018 12:39

Другие вопросы по теме