当前位置:首页 > CMS教程 > 其它CMS > 列表

laravel 框架实现无限级分类的方法示例

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-19 10:32:48 浏览: 评论:0 

这篇文章主要介绍了laravel 框架实现无限级分类的方法,结合实例形式分析了Laravel框架基于递归遍历实现无限极分类输出的相关控制器及视图操作技巧,需要的朋友可以参考下。

本文实例讲述了laravel 框架实现无限级分类的方法,分享给大家供大家参考,具体如下:

模型中的代码

  1. namespace App\models\wxj; 
  2. use Illuminate\Support\Facades\DB; 
  3. use Session; 
  4. class Wxjlx 
  5.  public function r(){ 
  6. //输出数据库的所有内容 
  7.   $sql=DB::table('wxjlx')->get(); 
  8.   //调用fl方法 
  9.   $result=self::fl($sql,$pid=0); 
  10.    return $result
  11.  } 
  12. //创建方法 $data参数是数据库所有数据 $pid参数是数据库pid $le参数是为了区分显示级别的 
  13.  public function fl($data,$pid=0,$le=0){ 
  14. //创建一个静态数组保存数据 
  15.   static $array=array(); 
  16. //循环出所有的有关数据保存进数组 
  17.   foreach ($data as $v){ 
  18. //当第一循环是pid==0 因为上面已经设置pid==0 
  19.    if($v->pid==$pid){ 
  20. //这里是为了区分级别 
  21.     $v->le=$le
  22. //将有关数据保存如数据 
  23.     $array[]=$v
  24. //为了将有关数据保存数据,这里使用递归 
  25.     self::fl($data,$v->id,$le+1); 
  26.    } 
  27.   } 
  28. //将最后的内容输出返回 
  29.   return $array
  30.  } 

控制器代码,只是为了调用模型中方法

  1. class WxjlxController extends BaseController 
  2.  public function r(){ 
  3. //实例化模型 
  4.   $p=new Wxjlx(); 
  5. //调用模型方法 
  6.   $a=$p->r(); 
  7. //将数据返回视图 
  8.   return view('wxj/r',['list'=>$a]); 
  9.  } 

视图中的方法,实现效果

  1. @foreach($list as $v
  2.  {{str_repeat('-|',$v->le)}} 
  3.  {{$v->id}} 
  4.  {{$v->typename}} 
  5.  {{$v->pid}} 
  6.  <?php echo '<br>'?> 
  7.  @endforeach

Tags: laravel无限级分类

分享到: