Таким образом, у меня есть выбор, что варианты от Froma Laravel Foreach
@foreach($courseMonth as $cm)->groupBy('description');
<optgroup label="{{ nameMonth($cm->month) }}">
@foreach($days as $date)
@if(date('m', strtotime($date['date'])) == $cm->month)
<option value="{{ date('d/m/Y', strtotime($date['date'])) ." - ". $date['hours'] }}">{{ $date['description'] . ' - ' . date('d/m/Y', strtotime($date['date'])) . ' - ' . $date['hours'] . ' ('. $date['total'] . 'h)'}}</option>
@endif
@endforeach
</optgroup>
<?php $i++;?>
@endforeach
Это варианты. И я хочу, чтобы $date['description']
было одинаковым в двух вариантах, чтобы объединить оба варианта. Более подробно, если три варианта имеют свое описание как «Работа», объединить все варианты. Я пробовал группу перед foreach
@foreach($courseMonth as $cm)->groupBy('description');
Но это ничего не сделало. В таблице параметров есть только одна строка (например, в одной строке есть только одно описание, но в выборке может быть несколько опций дня), поэтому мне нужно сгруппировать их, только если в двух вариантах есть одно и то же описание.
Структура таблицы:
-----------------------------------------------
| id | description | date | hours | total |
|---------------------------------------------|
| 4 | work |2019-23-4 | 14h | 6h |
| 5 | work |2019-23-5 | 13h | 5h |
| 6 | school |2019-23-5 | 13h | 5h |
-----------------------------------------------
Таким образом, первые два будут отображаться в той же опции, а последняя - в качестве второй опции выбора.