model(); // 获取数据 $tree = $obj->orderBy('order', 'desc')->orderBy('id', 'desc')->get(); $treeData = $tree->toArray(); // 构建树形结构 $data=buildTree($treeData); // 转换成一维数组 $data=flattenTree($data); return $model->makePaginator( count($data), // 传入总记录数 $data // 传入数据二维数组 ); } public static function selectMainOptions(\Closure $closure = null) { if (!$closure) { $closure = function ($query) { $query = $query->orderBy('order', 'desc')->orderBy('id', 'desc'); return $query; }; } $selectOptions = Model::class::selectOptions($closure); //只显示2层 foreach ($selectOptions as $key => $value) { if (substr_count($value,' ') > 8) { unset($selectOptions[$key]); } } return $selectOptions; } // 调用模型方法 public static function selectOptions(\Closure $closure = null) { if (!$closure) { $closure = function ($query) { $query = $query->where('enabled', 1); $query = $query->orderBy('order', 'desc')->orderBy('id', 'desc'); return $query; }; } $selectOptions = Model::class::selectOptions($closure); return $selectOptions; } }