使用thinkphp5.0查询menu表中的树形结构,其中pid是父级id
时间: 2023-01-31 14:54:57 浏览: 86
mybatis 父子级树形结构查询
使用 ThinkPHP 5.0 查询 menu 表中的树形结构,你可以使用以下方法:
1. 使用 `collection` 方法将查询结果转换为集合,然后使用 `tree` 方法将集合构建成树形结构:
```
$list = Db::name('menu')->field('id,pid,name')->select();
$tree = collection($list)->toArray();
$tree = \think\helper\Arr::tree($tree, 'name', 'id', 'pid');
```
2. 使用 `tree` 方法直接从数据库中查询并构建树形结构:
```
$tree = Db::name('menu')->field('id,pid,name')->order('sort asc')->select()->toArray();
$tree = \think\helper\Arr::tree($tree, 'name', 'id', 'pid');
```
在上面的代码中,第二个参数 `'name'` 是指定作为节点名称的字段,第三个参数 `'id'` 是指定作为节点唯一标识的字段,第四个参数 `'pid'` 是指定作为父级 ID 的字段。
注意:需要先在项目中引入 `think\Db` 和 `think\helper\Arr` 类。
阅读全文