Model
public function getAllTreeMenusList()
{
$data = self::select()->toArray();
return self::_generateTree($data);
}
private static function _generateTree ($data, $pid = 0) {
$tree = [];
if ($data && is_array($data)) {
foreach($data as $v) {
if($v['parent_id'] == $pid) {
$tree[] = [
'id' => $v['id'],
'name' => $v['name'],
'parent_id' => $v['parent_id'],
'children' => self::_generateTree($data, $v['id']),
];
}
}
}
return $tree;
}
Controller
<?php
namespace app\admin\controller;
use app\admin\controller\master\Common;
use app\admin\libs\traits\AdminCrud;
use app\admin\model\EdmMenu;
class Edm extends Common
{
use AdminCrud;
public function getAllTreeMenusList()
{
$edmMenus = new EdmMenu();
$data = $edmMenus->getAllTreeMenusList();
dd($data);
}
}
效果图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201208152613690.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzE5NTk4OTYz,size_16,color_FFFFFF,t_70)