laravel foreach独特/独特

时间:2017-11-08 21:07:00

标签: php laravel foreach distinct

在laravel中,我有一个带有一些值的下拉选择框,但是我的foreach循环框显示$psku->frame_desc的每个实例,应该如此。但是,我希望它只显示不同的值。

以下是代码:

<select style="margin-top:10px; max-width:200px;" >
<option value="" selected data-default>Sort by type:
</option>
    @foreach ($orderFormData->pgroups as $pgroup)
      @foreach ($pgroup->pskus as $psku)
        <option value="{{ $psku->frame_desc }}">{{ $psku->frame_desc }}</option>
      @endforeach
    @endforeach

在laravel中像foree这样在foreach中声明不同或唯一值的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

假设这些是集合,您可以这样做:

@foreach ($orderFormData->pgroups as $pgroup)
  @foreach ($pgroup->pskus->unique('frame_desc') as $psku)
    <option value="{{ $psku->frame_desc }}">{{ $psku->frame_desc }}</option>
  @endforeach
@endforeach

Documentation

如果它们不是集合,您可以将它们设为集合:

@foreach ($orderFormData->pgroups as $pgroup)
  @foreach (collect($pgroup->pskus)->unique('frame_desc') as $psku)
    <option value="{{ $psku->frame_desc }}">{{ $psku->frame_desc }}</option>
  @endforeach
@endforeach