请教 laravel 5.5 如何给查询出的collcation赋值

5.3之后不再支持在配置文件中定制fetch model
所以监听了新的Illuminate\Database\Events\StatementPrepared事件, 用以达到查询出的结果是数组
报错:Indirect modification of overloaded element of Illuminate\Support\Collection has no effect

public static function cates(){
        //select*,concat(path,id) as paths from cate order by paths //连接path和id,并按照他们升序排列
        $cate=DB::table('cate')->select('*',DB::raw('concat(path,id) as paths'))->orderBy('paths')->get();
        
        // dd($cate);
        // 修改类别的样式   |---
        foreach ($cate as $k=>$v) {
            $num=count(explode(',',$v['path']))-2;
            $cate[$k]['cate']= str_repeat('|---',$num).$v['cate'];


        }
        dd($cate);
        // return $cate;
    }

echo $cate[$k]['cate'].'<br>';

服装
男装
西装
衬衫
女装
裙子
数码
手机
电脑

echo str_repeat('|---',$num).$v['cate'].'<br>';

服装
|---男装
|---|---西装
|---|---衬衫
|---女装
|---|---裙子
数码
|---手机
|---电脑

如何才能上面的这个赋给查询出来的结果呢?