在视图中我有一个这样的代码
<?= $form->field($model, 'Language')->dropDownList(ArrayHelper::map(Doodles::getLanguages(), "Language", "language"), ['class'=>'form-control','prompt' => 'Choose language'])->label('Language') ?>
在Doodles::getLanguages
方法
return Doodles::findBySql('select distinct language from doodles')->asArray()->all();
getLanguages
方法返回
array(size = 2)
0 =&gt; 数组(大小= 1) 'language'=&gt;字符串'rus'(长度= 3)1 =&gt; 数组(大小= 1) 'language'=&gt; string'en'(length = 2)
在结果页面中,我得到一个没有填充值属性的选择,只有一个选项而不是两个
<select id="utdoodles-language" class="form-control" name="UtDoodles[Language]">
<option value="">Choose language</option>
<option value="" selected="">en</option>
</select>
增加:
Doodles :: getLanguages方法返回一个数组:
array (size=2) 0 => array (size=1) 'language' => string 'rus' (length=3) 1 => array (size=1) 'language' => string 'en' (length=2)
答案 0 :(得分:1)
在Doodles::getLanguages
方法更改如下:
return Doodles::find()->select('language')->distinct()->asArray()->all();