YII 2.0FrameworkでActiveformチェックボックスリストウィジェットを使用しようとしています
私の場合、チェックボックスリストとしてレンダリングされる言語の名前を持つ「list」という配列があります。これでそれが可能になりましたが、フォームが読み込まれるときにチェックボックスをオンにします。
$list = [0 => 'PHP', 1 => 'MySQL', 2 => 'Javascript'];
$list2 = [0,2];
次の行を使用して、HTMLヘルパークラスを使用して必要なものを実現できます。
<?= Html::checkboxList('CuisineId',$list2,$list); ?>
しかし、Activeform Widget CheckboxListを使用してこれを実行できるようにしたいのですが、これは documentation に従って次のように使用されます。
静的checkboxList($ items、$ options = [])
したがって、私の場合、$ itemsのパラメーターを渡す方法を考えました。これは次のようになります。
<?= $form->field($record, 'CuisineId')->checkboxlist($list);?>
しかし今、私はチェックボックスをチェックできるようにするパラメータを渡す方法がわかりません。
解決
データベース
コントローラ
$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')) ?>