PHP无法迭代多维数组以创建正确的刀片结构

PHP无法迭代多维数组以创建正确的刀片结构,php,mysql,laravel,laravel-blade,Php,Mysql,Laravel,Laravel Blade,我有这个模块表结构: 刀片文件中的结束表单是一个基于复选框的嵌套向下钻取表单,如下所示: 部分将相应的名称分组在一起,如果id属于(在数组中)任何父\u id(列),则对应的名称 我正在查询数据库:$this->groupBy('section','name')->orderBy('section')->orderBy('name')->select('name','id','section','parent_id')->get()->toArray() 我试着这样做: $formatted

我有这个
模块
表结构:

刀片文件中的结束表单是一个基于复选框的嵌套向下钻取表单,如下所示:

部分
将相应的
名称
分组在一起,如果
id
属于(
在数组中
)任何
父\u id
(列),则对应的
名称

我正在查询数据库:
$this->groupBy('section','name')->orderBy('section')->orderBy('name')->select('name','id','section','parent_id')->get()->toArray()

我试着这样做:

$formattedAccessType = [];
foreach($moduleAccessTypes as $accessType){
$formattedAccessType[$accessType['id']]['section'] = $accessType['section'];
$formattedAccessType[$accessType['id']]['name'] = $accessType['name'];
if(in_array($accessType['id'], json_decode($accessType['parent_ids']))){
    $formattedAccessType[$accessType['id']]['extra']['id'] = $accessType['id'];
    $formattedAccessType[$accessType['id']]['extra']['name'] = $accessType['name'];
  }
}
dd($formattedAccessType);
我无法理解我应该改变在数据库中存储数据的方式,还是应该使用更多的循环来迭代并获得所需的结构,以便在刀片文件中使用它