Я пытаюсь использовать виджет checkboxlist Activeform в YII 2.0 Framework
в моем случае у меня есть массив, называемый «список», который имеет имена языков, которые будут отображаться как checkboxlist, теперь я могу это сделать, но я хочу, чтобы флажки проверялись как загружаемая форма.
$list = [0 => 'PHP', 1 => 'MySQL', 2 => 'Javascript']; $list2 = [0,2];
используя следующую строку, я могу добиться того, что хочу, используя HTML-вспомогательные классы:
<?= Html::checkboxList('CuisineId',$list2,$list); ?>
но я хочу, чтобы это можно было сделать с помощью CheckboxList Activeform Widget, который согласно документации должен использоваться следующим образом:
static checkboxList ($ items, $ options = [])
Поэтому в моем случае я понял, как передать параметр для $ items, который выглядит следующим образом:
<?= $form->field($record, 'CuisineId')->checkboxlist($list);?>
Но теперь я не знаю, как передать параметры, которые позволят проверить флажки.
Хорошо, я получил решение от самого форума yiiframework .
Решение заключалось только в том, чтобы добавить следующую строку кода, и это сработало! :
$record->CuisineId = $list2;
Решать
база данных
Посмотреть
контроллер
$model = $this->findModel($id); $model->INDEXES =ArrayHelper::getColumn($model->publicationIndexes, 'INDEXES_ID'); if ($model->load(Yii::$app->request->post())) {$model->save();}
Просмотр (_form)
<?= $form->field($model, 'INDEXES')->checkboxList(ArrayHelper::map(Indexes::find()->all(), 'ID', 'NAME')) ?>