2017-05-26 119 views
0

在视图我有一个这样的代码DROPDOWNLIST未完全填充

<?= $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方法返回

阵列(大小= 2)

0 = > 阵列(大小= 1) '语言'=>字符串 'RUS'(长度= 3)1 => 阵列(大小= 1) '语言'=>串成 'en'(长度= 2)

在结果页面中我得到了一个选择,未补值属性和只有一个选择而不是两个

<select id="utdoodles-language" class="form-control" name="UtDoodles[Language]"> 
<option value="">Choose language</option> 
<option value="" selected="">en</option> 
</select> 

增加:

涂鸦:: getLanguages方法返回一个数组:

array (size=2) 
    0 => 
    array (size=1) 
     'language' => string 'rus' (length=3) 
    1 => 
    array (size=1) 
     'language' => string 'en' (length=2) 

回答

1

Doodles::getLanguages方法变更如下:

return Doodles::find()->select('language')->distinct()->asArray()->all(); 
+0

它看起来更好,但给出了相同的结果。只有选项中的'en'语言和空值。 –

+0

你可以显示数组该方法返回 –

+0

我在上面的问题的底部添加了这个数组。 –