laravel通用版分类递归,多级
//我是把这个多级递归放在了model,,其实放哪里都行,,只要你控制器能够调用到,,但一般我觉得还是放在通用方法里面比较好吧
public function tree() { $categorys = $this->all(); return $this->getTree($categorys,"cate_name","cate_id","cate_pid"); } //一般传进三个参数。默认P_id=0; public function getTree($data,$field_name,$field_id="id",$field_pid="pid",$pid=0) { $arr = array(); foreach ($data as $k=>$v){ if($v->$field_pid==$pid){ $data[$k]["_".$field_name] = $data[$k][$field_name]; $arr[] = $data[$k]; foreach ($data as $m=>$n){ if($n->$field_pid == $v->$field_id){ $data[$m]["_".$field_name] = "├─ ".$data[$m][$field_name]; $arr[] = $data[$m]; } } } } return $arr; }
//在控制器调用这个方法就好了
public function index() { $categorys = (new Category)->tree(); return view("admin.category.index")->with("data",$categorys); }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: PHP无限级分类(嵌套集合模型)
- 下一篇: php无限分类 树状菜单经典代码