Yii2: Как показать проверенные значения в CheckboxList

Я хочу показать отмеченные значения в моем списке checkbox в Yii 2.0. Ниже приведен мой код:

Основной массив:

<?php $featureArr = array( 'Change Requester' => 'Change Requester', 'Clone Request' => 'Clone Request', 'Suspend Request' => 'Suspend Request', 'In-Process Requests Open in Edit Mode' => 'In-Process Requests Open in Edit Mode', 'Allow On-the-Fly Notifications' => 'Allow On-the-Fly Notifications', 'Additional Comments Field' => 'Additional Comments Field', 'Do Not Validate Draft Requests' => 'Do Not Validate Draft Requests', '(Web-Only) Allow File Attachments' => '(Web-Only) Allow File Attachments', ); 

Получение данных из таблицы для отображения отмеченных элементов:

 $formFeatureModel = FormFeatureForm::find()->where("form_id=" . $model->id)->all(); $checkedFeatureArr = array(); foreach ($formFeatureModel as $data) { $checkedFeatureArr[$data->feature] = $data->feature; } ?> 

Поле флажка

 <?= $form->field(new FormFeatureForm, 'feature')->checkboxList($featureArr, ['class' => 'featureCls']) ?> 

Я получаю $checkedFeatureArr элемент в $checkedFeatureArr из базы данных. Теперь я просто хочу показать отмеченные элементы. Итак, где мне передать массив $checkedFeatureArr ? Застрял в этом.

Любая помощь будет оценена по достоинству.

При использовании его с моделью вместо этого вы должны заполнить feature модели объекта выбранными значениями.

 $model->feature = $checkedFeatureArr; 

Затем он будет проверяться автоматически.

Дополнительные советы:

  • Лучше избегать конкатенации в SQL, replace ->where("form_id=" . $model->id) с ->where(['form_id' => $model->id]) .

  • Лучше создать ActiveForm перед рендерингом ActiveField .