2013-03-27 45 views
0

我在yii中使用了一個解析api的組件。所以在表單下拉列表中調用列表國家的功能。該函數返回國家列表作爲數組。 form.php的在yii中沒有模型的下拉列表

<?php echo $form->labelEx($model,'country'); ?> 
<?php $cty= Country::getCountry(); 
     echo $form->dropdownList($model,'country', $cty , array('style'=>'width: 175px','empty'=>array('empty'=>Yii::t('app','Select Country'))));?> 

現在下降正確裝入全國上下的名單,但是當節省時間國家的相應的ID被保存。我想在國家名稱保存db.How它解決了嗎?

+1

是什麼'Country'看起來像您可以用這種方式?爲什麼要保存這個名字,如果一個國家的主鍵是它的ID? – Jon 2013-03-27 11:53:16

+0

<?php $ new = Country :: getCountry(); ($ new as $ strn) { print_r($ new); echo「
」; } ?> 它是一個組件函數,返回國家列表作爲數組。像這樣的陣列輸出([0] =>阿富汗[1] =>奧蘭羣島[2] =>阿爾巴尼亞[3] =>阿爾及利亞[4] =>美屬薩摩亞 – Aneesh 2013-03-27 12:27:36

回答

2

您必須使用所需的鍵/值構建您自己的自定義數組,例如, :

$cty = Country::getCountry(); 
$cty = array_combine(array_values($cty), $cty); 
0

(如果你需要國家表中的所有項目的情況下)

$cty = CHtml::listData(Country::model()->findAll(), 'name', 'name');