Laravel中是否支持嵌套GroupBy?

Laravel中是否支持嵌套GroupBy?,laravel,group-by,Laravel,Group By,我有一个带有字段“id”、“category\u id”、“name”的categories表,其中“category\u id”是父类别的id。我的要求是,我需要分组类别如下 Europe - England Asia - India - Kerala - Kochi 注:此处欧洲、英国、亚洲、印度、喀拉拉邦、高知为分类。亚洲是印度的母类,印度是喀拉拉邦的母类,喀拉拉邦是高知的母类 是否存在嵌套的groupBy解决方案?假设它是一对多自引用关系,即一个类别只能属于其他类别

我有一个带有字段“id”、“category\u id”、“name”的categories表,其中“category\u id”是父类别的id。我的要求是,我需要分组类别如下

Europe
 - England
Asia
 - India
   - Kerala
     - Kochi
注:此处欧洲、英国、亚洲、印度、喀拉拉邦、高知为分类。亚洲是印度的母类,印度是喀拉拉邦的母类,喀拉拉邦是高知的母类


是否存在嵌套的groupBy解决方案?

假设它是一对多自引用关系,即一个类别只能属于其他类别(单亲)

您的
类别
模型应该如下所示:

public function parent() {
   return $this->belongsTo('App\Category');
}

public function children() {
   return $this->hasMany('App\Category');
}
main
blade模板中,您有:

  <ul class="navbar-nav">
       @foreach ($menu_items as $item)
             @include('menu', $item)
       @endforeach
  </ul>
我从我最近参与的一个项目中粘贴了这段代码,让您了解嵌套下拉列表,您必须自己处理样式部分。但这段代码足以让您正确理解


附言:这些都没有经过测试。如果有些东西不起作用,请告诉我,分组讨论什么?现在还不清楚你想要实现什么或者你想在blade中以某种方式递归呈现这个是的,我想在blade文件中分层显示类别。
@if ( $item->children->isNotEmpty() )
<li class="nav-item {{ $item->parents->isNotEmpty() ? 'dropdown-submenu' : 'dropdown' }}">
    <a class="nav-link dropdown-toggle" href="{{ $item->slug ? url($item->slug) : 'javascript:void(0);' }}" id="navbarDropdown{{ $item->id }}" role="button" data-toggle="hover">
        {{ $item->title }}
    </a>

    <ul class="dropdown-menu" aria-labelledby="navbarDropdown{{ $item->id }}">
        @foreach ($item->children as $item)

            @include('menu', $item)

        @endforeach
    </ul>
@else
<li class="nav-item">
    <a class="nav-link" href="{{ $item->slug ? url($item->slug) : 'javascript:void(0);' }}">{{ $item->title }}</a>
@endif
</li>