laravel 5中的查询结构用于获取嵌套数组结果

时间:2016-10-25 10:07:31

标签: php mysql laravel laravel-5

我正在尝试制作动态简历。 为了展示我已经创建了3个表的技能,如下所示 -

  1. 技能 - 包含所有具备专业水平的技能
  2. 群组 - 包含前端,后端,数据库,编程等类别
  3. Skill_Groups - 由于一项技能可以在多个组中,因此我制作了此表。例如,PHP也可以是编程组中的后端组。
  4. 技能

    enter image description here

    enter image description here

    Skill_Groups

    enter image description here

    现在,我想用嵌套列表显示组和技能。实施例 -

    • 前端

      ⁃HTML

      ⁃CSS

    • 后端

      ⁃PHP

      ⁃MySQL

    为此,我需要一个多维数组。 laravel中的查询应该以这种方式得到结果?

    [这个问题可能是重复的,但我没有找到。如果是,请告诉我,我将合并/删除它。]

    任何替代解决方案也很明显,如果有的话。

1 个答案:

答案 0 :(得分:2)

在模型Group中,您可以添加关系

public function skills()
{
    return $this->belongsToMany(Skill::class, 'skill_groups');
}

在控制器

$groups = Group::with('skills')->get();

在视图中

@foreach($groups as $group)
    {{ $group->name }}

    @foreach($group->skills as $skill)
        {{ $skill->name }}
    @endforeach
@endforeach