Ich arbeite an Yii2. Ich erstelle mehrere Auswahl Drop-Down mit benutzerdefinierten Array wie folgt.Wie können ausgewählte Werte in mehreren Dropdown-Menüs in einer Yii2-App angezeigt werden?
In Controller-Datei:
$all_groups = Groups::find()->where(['=','group_created_by',$id])->orwhere(new Expression('FIND_IN_SET(:id_to_find, group_managers)'))->addParams([':id_to_find' => $id])->all(); // fetch all values
$selected_groups = Groups::find()->where(['=','group_users',$updateId])->orwhere(new Expression('FIND_IN_SET(:id_to_find, group_users)'))->addParams([':id_to_find' => $updateId])->all(); // getting selected values
$all_groups_array = [];
foreach ($all_groups as $group) {
$all_groups_array[$group->id] = ucfirst($group->group_name);
}
On Render-Daten in der Ansicht:
return $this->render('mngr_userupdate', [
'model' => $model,
'all_groups_array'=>$all_groups_array,
'case'=>$case,
'email_error' => 'false',
'applied_email' => '' ,
]);
so ist es zu schaffen Array wie folgt:
Array
(
[11] => Mngr1 group
[14] => Mngr 11 Group
)
In ilm-Datei:
<?= $form->field($model, 'group_user[]')->dropDownList($all_groups_array,['multiple' => 'multiple']) ?>
Es funktioniert gut auf Formular zum Einfügen von Daten zu erstellen. aber wie man ein Array erstellt, mit dem ich ausgewählte Werte im Update-Formular anzeigen kann.
Edit:
ich gerade herausgefunden, dass, wenn ich es verwenden, wie
<?= $form->field($model, 'group_user[]')->dropDownList($all_groups_array,['multiple' => 'multiple', 'options'=>['14'=>["Selected"=>true],'11' => ["Selected"=>true]]]); ?>
dann wird es Anzeigewerte zu starten, wie ausgewählt. das heißt muss ich Array erstellen wie
[
'14'=>["Selected"=>true],
'11' => ["Selected"=>true]
]
Dazu I Schleife bin mit wie wie folgt:
foreach ($selected_groups as $key => $value) {
$sel_groups_array[$value] = '' // what should be there or else
}
Wie kann ich dieses Array mit Schleife erstellen?