我需要的就是列出model1的所有行(id,name)作为model2中特定列的下拉列表,存储在db中的id,但在用户界面的dropdownlist中显示名称。
我可以做一些事情,比如在model2中编写一个函数并在controller2 / create中调用函数,它会工作吗我不确定它
如果我能以任何好的方式实现它,请告诉我。
答案 0 :(得分:1)
在你的MODEL2中创建一个功能
public function myDropDownData(){
$data = Model1::model()->findAll();
$datalist = CHtml::listData($data, 'id', 'name');
retrun $datalist;
}
像这样使用
echo $form->dropDownList($model2,'model2_column_name',$model2->myDropDownData());
答案 1 :(得分:0)
你可以像
一样使用 CHtml :: listData() CHtml::dropDownList('myDropDown', '', CHtml::listData(Model1::model()->findAll(),
'id', 'name'));
然后您可以访问值作为
$_POST['myDropDown'];