首页 > 解决方案 > 我想按类别名称显示组,并且在每个类别中还需要在 laravel 8 中显示所有子类别

问题描述

我正在从事一个电子商务项目,其中我的数据库中有一个类别表,类别表中有两个属性或字段可用,例如类别名称和子类别名称。我从按格式分组的类别表中检索了所有类别名称。但是当我按功能调用组时,只显示第一个子类别,但我想显示所有子类别。这是我的控制器代码:

public function category_listing(Request $request){
    $category_name = $request->get('category_name');
    $sub_category_name = $request->get('sub_category_name');
    $all = DB::table('products')->orderBy('created_at', 'DESC')->get();
    $categories = DB::table('categories')
        ->groupBy('category_name')
        ->get();
    $products = Product::query()
        ->where('product_category', 'like', "%{$category_name}%")
        ->where('product_sub_category', 'like', "%{$sub_category_name}%")
        ->paginate(6);
    $session_id = Session::get('session_id');
    $carts = DB::table('carts')->where('session_id', $session_id)->get();
    return view('pages.layouts.category_listing', [
        'products' => $products,
        'carts' => $carts,
        'all' => $all,
        'categories' => $categories,
    ]);
}

刀片.html:

<div class="product-categori">
  <div class="search-product">
    <form action="#">
        <input class="form-control" placeholder="Search here..." type="text">
        <button type="submit"> <i class="fa fa-search"></i> </button>
    </form>
  </div>
  <div class="filter-sidebar-left">
    <div class="title-left">
        <h3>Categories</h3>
    </div>
    @foreach($categories as $category)
        <div class="list-group list-group-collapse list-group-sm list-group-tree" id="list-group-men" 
        data-children=".sub-men">
            <div class="list-group-collapse sub-men">
                <a class="list-group-item list-group-item-action" href="#{{$category->id}}" data- 
                    toggle="collapse" aria-expanded="true" aria-controls="sub-men1"> 
                       {{$category->category_name}}
                    <i class="fa fa-caret-down" style="float: right"></i>
                </a>
                <div class="collapse show" id="{{$category->id}}" data-parent="#list-group-men">
                    <div class="list-group">
                        <form action="{{route('category_listing')}}" method="GET">
                            {{csrf_field()}}
                            <input type="hidden" name="category_name" 
                            value="{{$category->category_name}}">
                            <input type="hidden" name="sub_category_name" 
                            value="{{$category->sub_category_name}}">
                            <button type="submit" class="btn list-group-item list-group-item-action 
                            active">
                                {{$category->sub_category_name}}
                            </button>
                        </form>
                    </div>
                </div>
            </div>
        </div>
      @endforeach
    </div>
  </div>

我认为子查询可能需要也可能不需要。请帮帮我。提前致谢。

标签: phpgroup-bylaravel-8laravel-query-builder

解决方案


推荐阅读