【发布时间】:2016-12-13 15:20:04
【问题描述】:
在我的products 表中,每个Product 都有一个名为retailer 的列。在我看来,我正在尝试从表中获取并显示该 retailer 列的所有 unique 值。请注意,我只需要一个单列的不同值,即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
但这没有用。
问:我在这里做错了什么?有没有更有效的方法来解决这个问题?在这种情况下,使用 Query Builder(而不是 Eloquent)会更好吗?
谢谢!
【问题讨论】:
-
你试过
->distinct('retailer') -
这也应该有效:
$products->unique('retailer')->pluck('retailer');无需单独查询。