路由数据获取及封装方法

数据库设计

自联表
在这里插入图片描述

定义tree字段

    public class LabelValue
    {
        public int label { get; set; }
        public string? value { get; set; }
        public List<LabelValue> children { get; set; }
    }

获取路由方法

public Response<object> getMenuList()
{
    Response<object> result = new Response<object>();
    //一级菜单
    List<Menu> Menu_level1_list = db.Queryable<Menu>().Where(t => t.parent_id == 0).ToList();
    List<LabelValue> LabelValueList1 = new List<LabelValue>();
    foreach (var menu1 in Menu_level1_list)
    {
        var labelValue1 = new LabelValue
        {
            label = menu1.ID,
            value = menu1.Name,
            children = BuildMenuTree(menu1.ID)
        };
        LabelValueList1.Add(labelValue1);
    }
    result.Data = LabelValueList1;
    return result;
}

路由递归函数

 public List<LabelValue> BuildMenuTree(int? parentId = null)
 {
     SqlSugarClient db = SqlsugarSetup.db;
     var menuList = db.Queryable<Menu>().Where(t => t.parent_id == parentId).ToList();
     var labelValueList = new List<LabelValue>();
     foreach (var menu in menuList)
     {
         var labelValue = new LabelValue
         {
             label = menu.ID,
             value = menu.Name,
             children = BuildMenuTree(menu.ID) 
         };
         labelValueList.Add(labelValue);
     }
     return labelValueList;
 }

相关推荐

  1. Flask 基础和封装

    2024-07-18 15:44:02       25 阅读
  2. vue3角色封装

    2024-07-18 15:44:02       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 15:44:02       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 15:44:02       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 15:44:02       62 阅读
  4. Python语言-面向对象

    2024-07-18 15:44:02       72 阅读

热门阅读

  1. Linux常用命令(简要总结)

    2024-07-18 15:44:02       20 阅读
  2. 《人生苦短,我用python·十》python的异常使用

    2024-07-18 15:44:02       21 阅读
  3. python open 文件名过长报错No such file or directory

    2024-07-18 15:44:02       17 阅读
  4. 异步编程 进程 线程 协程(补充

    2024-07-18 15:44:02       22 阅读
  5. 【学习笔记】lambda表达式

    2024-07-18 15:44:02       22 阅读
  6. NVIDIA-TensorRT-Python推理

    2024-07-18 15:44:02       21 阅读