经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » PHP » 查看文章
laravel 框架实现无限级分类的方法示例
来源:jb51  时间:2019/10/31 12:50:52  对本文有异议

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

模型中的代码

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

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

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

视图中的方法,实现效果

  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
  8.  

更多关于Laravel相关内容感兴趣的读者可查看jb51专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号