Я использую 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 }} ?>






Хорошо, вы можете использовать дерево поведения ORM.
https://book.cakephp.org/3.0/en/orm/behaviors/tree.html
На основе родительского идентификатора он автоматически сгенерирует ДЕРЕВО.
Вы имеете в виду первый или базовый узел, который нужно передать в дерево? верно ?
Да, он работает правильно, но мне нужно передать жестко запрограммированный идентификатор, например, $ Потомки = $ категории-> find ('children', ['for' => 119]) -> find ('threadaded') -> toArray (); Что, если мне не нужно передавать 119 для bcoz, у меня много данных в таблице, и они могут измениться, если я загружу их на сервер, тогда ??