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);
}
}
效果图