laravel通用版分类递归,多级

本文介绍如何在 Laravel 中实现一个通用的多级分类递归方法,适用于模型或服务层,以方便在控制器中调用。提供了一个新改造的便捷方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.我是把这个多级递归放在了model,你可以放在service层,或其他,只要你控制器能够调用到  


//一般传进三个参数。默认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;
}

通用版多级递归方法(新改造)

//需要注意的是,$list数组的格式,是否符合递归的要求  
  function array_to_tree($list, $pk = &#
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值