2017-05-26 115 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

我在上面的問題的底部添加了這個數組。 –