php教程

超轻量级php框架startmvc

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

更新时间:2020-04-13 04:53:24 作者:startmvc
本文实例讲述了laravel框架实现无限级分类的方法。分享给大家供大家参考,具体如下:模

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

模型中的代码


namespace App\models\wxj;
use Illuminate\Support\Facades\DB;
use Session;
class Wxjlx
{
 public function r(){
//输出数据库的所有内容
 $sql=DB::table('wxjlx')->get();
 //调用fl方法
 $result=self::fl($sql,$pid=0);
 return $result;
 }
//创建方法 $data参数是数据库所有数据 $pid参数是数据库pid $le参数是为了区分显示级别的
 public function fl($data,$pid=0,$le=0){
//创建一个静态数组保存数据
 static $array=array();
//循环出所有的有关数据保存进数组
 foreach ($data as $v){
//当第一循环是pid==0 因为上面已经设置pid==0
 if($v->pid==$pid){
//这里是为了区分级别
 $v->le=$le;
//将有关数据保存如数据
 $array[]=$v;
//为了将有关数据保存数据,这里使用递归
 self::fl($data,$v->id,$le+1);
 }
 }
//将最后的内容输出返回
 return $array;
 }
}

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


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

视图中的方法,实现效果


@foreach($list as $v)
 {{str_repeat('-|',$v->le)}}
 {{$v->id}}
 {{$v->typename}}
 {{$v->pid}}
 <?php echo '<br>'?>
 @endforeach

laravel 无限级分类