Данные Yii Framework 2.0 из базы данных для выбора полей ввода

В Yii Framework 1, когда я получаю данные из базы данных и хочу поместить значения ключей в опции выбора поля ввода, я использую этот код в контроллере:

$roleDataProvider = CHtml::listData(Role::model()->findAll(), 'id', 'description');

При работе с Yii Framework 2.0 у меня нет CHtml :: listData (). Что я должен использовать, чтобы приблизиться к тому же результату? Спасибо!

0

Решение

Попробуй это:

<?php $dataList=ArrayHelper::map(Category::find()->withoutSubs()->asArray()->all(), 'id', 'name'); ?>
<?= $form->field($model, 'category_id')->dropDownList($dataList); ?>
1

Другие решения

@Arkanon: вот использование, связанное с приведенным выше кодом. В вашем контроллере:

$dataList = ArrayHelper::map(ModelClass::findOne($id)->all(), 'column_id', 'column_username');
$model = new ModelClass();
return $this->render('viewpage', ['modelXX' => $model, 'keyZZ' => $dataList]);

В вашем viewpage.php:

$form = ActiveForm::begin(['id' => 'form-id']);
$form->field($modelXX, 'user_id')->dropDownList($keyZZ, ['class' => 'class_name', 'id' => 'id_name']);
ActiveForm::end();

Теперь у вас должен быть выпадающий список, заполненный данными, поступающими из базы данных. Значением выпадающего списка является «column_id», а метка выпадающего списка — «column_username».

0

По вопросам рекламы [email protected]