在我的products
表格中,每个Product
都有一个名为retailer
的列。在我看来,我正在尝试从表中获取并显示该retailer
列的所有唯一值。请注意,我只需要一列的不同值,即retailer
。这是我的尝试:
@foreach(\App\Product::select('retailer')->groupBy('retailer')->get() as $retailer)
{{$retailer->retailer}}
@endforeach
Here我已经读过groupBy('retailers)
会获得唯一值。这确实有效,但由于我将数组$products
传递给包含所有产品的视图,我认为循环$products
会更有效:
@foreach($products->select('retailer')->unique() as $retailer)
{{$retailer}}
@endforeach
但这没有用。
问:我在这里做错了什么?有没有更有效的方法来解决这个问题?在这种情况下,使用查询生成器(而不是Eloquent)是否更好?
谢谢!
答案 0 :(得分:1)
尝试
@foreach(App\Product::distinct()->get(['retailer']) as $product)
{{$product->retailer}}
@endforeach
修改强>
当然可以。在您的控制器中
$products = App\Product::distinct()->get(['retailer']);
foreach($products as $product) {
// do your magic
}