Grundsätzlich habe ich Daten, die von MySQL-Abfrage mit dem Stichwort Union alle kamen.Set-Daten für Select2 Kartik Optgroup
$result = [];
foreach ($listNoEstimate as $k => $v) {
$result[$v['id']][] = $v['no_surat'] . ' - ' . $v['level'];
}
Das sind die Daten
print_r($data);
Array
(
[1904] => Array
(
[0] => C0005 - A
)
[16] => Array
(
[0] => E1679 - B
[1] => E1679 - C
)
)
wissen Sie, in select2 wir Daten als Array wie folgt passieren kann:
echo $form->field($model, 'state_1')->widget(Select2::classname(), [
'data' => $data,
]);
ich so brauchen:
<select>
<optgroup label = 'C0005'>
<option value = '1904'> C0005 - A </option>
</optgroup>
<optgroup label = 'E1679 '>
<option value = '16'> E1679 - A </option>
<option value = '16'> E1679 - B </option>
</optgroup>
</select>
Bitte beraten.