Laravel 6: 如何在我的视图中使用分组依据?

Laravel 6: How can I use Group By within my view?

我尝试按 SKU 对我的产品进行分组,但它返回了错误的值

控制器:

$pro = Product::groupBy('sku')->latest()->paginate(25);
    

Blade

@foreach ($pro as $sku => $p)
<p>{{$p['sku']}}</p>
<ul class="list-unstyled">
@foreach($p as $product)
<li><a href="{{route('admin.product.view',[$p['id']])}}">{{$p['name']}}</a></li>
@endforeach
</ul>
@endforeach

我在数据库中注册了这些产品:

但是,它向我返回了多个值

我需要这样分组:

这可能会解决您的问题:

$skus = Product::latest()
    ->offset(0)
    ->limit(25)
    ->get()
    ->groupBy('sku');

在您看来:

@foreach ($skus as $sku => $products)
    <p>{{$sku}}</p>
    <ul class="list-unstyled">
        @foreach($products as $product)
            <li><a href="{{route('admin.product.view',[$product['id']])}}">{{$product['name']}}</a></li>
        @endforeach
    </ul>
@endforeach