如何使用来自另一个模型的数据填充下拉框,以便将所有行作为yii中的选项


How do you populate a dropdown box using data from another model so that all rows are taken as options in yii?

我使用的是yii的1.1.14版本。

我的VIEW文件有

<?php echo $form->dropDownList($model,'estado', CHtml::listData(Estado::model()->findAll(), 'id', 'estado')); ?>

我有一个叫做Estado的模型,它是从一个只有2个字段ID作为PK和Estado的表生成的,我有我的数据。其中有3行Active, Inactive, Prospecting

到目前为止,代码只显示了该表的最后一行,忽略了前两行。我做错了什么?

对于下拉列表,您可以传递一个普通数组:

$data = array(
   'number1',
   'number2',
   'number3',
);

或key => value

的数组
$data = array(
   7 => 'number7',
   2 =>'number2',
   4 =>'number4',
);

Chtml::listData()将只帮助您使该数组可用于函数

然而,如果你需要组合模型(或数组),你必须手动使用数组连接函数,如CMap::mergeArray()