В 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
Каков наилучший способ объявить различные или уникальные значения в рамках foreach, подобного этому, в laravel?
Предполагая, что это коллекции, вы можете сделать:
@foreach ($orderFormData->pgroups as $pgroup)
@foreach ($pgroup->pskus->unique('frame_desc') as $psku)
<option value="{{ $psku->frame_desc }}">{{ $psku->frame_desc }}</option>
@endforeach
@endforeach
Если они не являются коллекциями, вы можете сделать их коллекциями:
@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
Других решений пока нет …