laravel 分类deno
/**
* 产品分类获取子节点
* @param array $data [description]
* @return [type] [description]
*/
function get_childer_node($data = [])
{
// 记录该分类的深度
static $callNum = 1;
$fg = str_repeat('|----',$callNum);
if(empty($data)) {
return;
}
foreach ($data as $key => $vo) {
$url = url("admin/category_edit?id={$vo['id']}");
echo "
{$vo['id']}
{$vo['pid']}
{$fg}{$vo['name']}
{$vo['sort']}
{$vo['status']}
";
// 如果该分类的依旧有子分类则再次遍历输出
if(!empty($vo ['childer'])) {
$callNum ++;
get_childer_node($vo ['childer']);
}
// 重置分类层级
$callNum = 1;
}
}
/**
* 加载视图
* @return [type] [description]
*/
public function category()
{
$pid = \Request::get('pid');
//查询数据
if(empty($pid)){
$list = \App\Categorys::orderBy('sort','desc')->get();
$pid=0;
}else{
$list = \App\Categorys::where("pid",$pid)->orderBy('sort','desc')->get();
}
// 将分类以及子分类整理排序
$list = $this->_treeNode($list->toArray(),$pid);
// echo "";
// var_dump($goods_group);die;
// 加载视图及分配数据
return view("admin/posts/category",compact('list'));
}
/**
* 整理排序所有分类
* @param array $data 从数据库获取的分类
* @param integer $parentId 父id,默认一级分类
* @return array
*/
private function _treeNode($data,$parentId = 0)
{
// 用于保存整理好的分类节点
$node = [];
// 循环所有分类
foreach ($data as $key => $value) {
// 如果当前分类的父id等于要寻找的父id则写入$node数组,并寻找当前分类id下的所有子分类
if($parentId == $value ['pid']) {
$node [$key] = $value;
$node [$key] ['childer'] = $this->_treeNode($data,$value ['id']);
}
}
return $node;
}
| ID | 父级 | 分类名称 | 缩略图 | 排序 | 状态 | 操作 |
|---|---|---|---|---|---|---|
| {{$vo['id']}} | {{$vo['pid']}} | {{$vo['name']}} | {{$vo['sort']}} | {{$vo['status']}} |
本站文章如未注明出处均为原创,转载请注明出处,如有侵权请邮件联系站长。