Laravel中是否支持嵌套GroupBy?
我有一个带有字段“id”、“category\u id”、“name”的categories表,其中“category\u id”是父类别的id。我的要求是,我需要分组类别如下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解决方案?假设它是一对多自引用关系,即一个类别只能属于其他类别
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>