Laravel框架示例(6.2版本)
为了方便演示,直接用DB类去写
App/Http/Controllers/IndexController.php
<?phpnamespace App\Http\Controllers;use App\Http\Controllers\Controller;use Illuminate\Support\Facades\DB;class IndexController extends Controller{// 获取初始化数据public function getSystemInit(){$homeInfo = ['title' => '首页','href' => 'page/welcome-1.html?t=1',];$logoInfo = ['title' => 'LAYUI MINI','image' => 'images/logo.png',];$menuInfo = $this->getMenuList();$systemInit = ['homeInfo' => $homeInfo,'logoInfo' => $logoInfo,'menuInfo' => $menuInfo,];return response()->json($systemInit);}// 获取菜单列表private function getMenuList(){$menuList = DB::table('system_menu')->select(['id','pid','title','icon','href','target'])->where('status', 1)->orderBy('sort', 'desc')->get();$menuList = $this->buildMenuChild(0, $menuList);return $menuList;}//递归获取子菜单private function buildMenuChild($pid, $menuList){$treeList = [];foreach ($menuList as $v) {if ($pid == $v->pid) {$node = (array)$v;$child = $this->buildMenuChild($v->id, $menuList);if (!empty($child)) {$node['child'] = $child;}// todo 后续此处加上用户的权限判断$treeList[] = $node;}}return $treeList;}}
