如何在 for 循环中创建树 php

How to create tree inside forloop php

我正在使用 cakephp 3.6,我在 mysql 数据库中有一个模块 tables。

我想在 foreach 循环中创建嵌套树结构。但是我不知道如何以树格式构建循环。

请帮助我这样做。

下面是我的table结构

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

根据Parent ID自动生成TREE。