// формируем массив, с ключем равным полю 'id' и значением равным полю 'name' $status_types_items = ArrayHelper::map($status_types, 'id', 'name'); ?> <?php echo $form->field($model, 'type_id')->dropDownList($status_types_items, ['prompt' => 'Выберите тип статуса']); ?> <?php echo $form->field($model, 'sort')->textInput(); ?> <?php // получаем пресеты $status_presets = \app\modules\admin\models\StatusPreset::find()->where(['model_name' => 'Cats'])->all(); // формируем массив, с ключем равным полю 'id' и значением равным полю 'name' $status_presets_items = ArrayHelper::map($status_presets, 'id', 'name'); ?> <?php if ($model->type->has_preset) { echo $form->field($model, 'preset_id')->dropDownList($status_presets_items, ['prompt' => 'Выберите список значений']); $has_preset_js = <<<JS \t\tvar has_preset = true; JS; } else { $has_preset_js = <<<JS \t\tvar has_preset = false; JS; }
/** * @return \yii\db\ActiveQuery */ public function getPreset() { return $this->hasOne(StatusPreset::className(), ['id' => 'preset_id']); }