我有两个模型:test1,test2和test1中的一个动作:
public function active_widgets_list()
{
$widgets = SiteWidget::model()->find('status=:status', array(':status' => '1'));
return $widgets;
}
Run Code Online (Sandbox Code Playgroud)
我将在test2的视图中将test1.tbl_1行显示为下拉列表:
$list=CHtml::listData(SiteWidget::model()->active_widgets_list(), 'id', 'title');
echo $form->dropDownList($model,'widget_id', $list, array('empty' => 'Select Please'));
Run Code Online (Sandbox Code Playgroud)
但是没有工作.我只有一个空的下拉列表.
您应该使用findAll而不是find,因为find仅返回具有指定条件的单个活动记录。
$widgets = SiteWidget::model()->findAll('status=:status', array(':status' => '1'));
Run Code Online (Sandbox Code Playgroud)