如何让YII从已知用户生成下拉列表?
-
26-10-2019 - |
题
我刚刚开始学习使用 yii, ,并且已经设法做了一些基本的事情。
假设我有两个简单的表:“用户”和“项目”,在其中关系为1(一个用户可以有很多项目)
我已经使用GII生成了CRUD,但是在“创建/编辑用户页面”中,这不提供下拉列表,而只是我需要输入用户ID的文本字段。
在编辑项目时,我想有一个可以选择用户的下拉列表(因此该元素应显示用户名的列表)。
我认为GII无法生成控制器并为此查看代码
这样做的最佳做法是什么?
我已经宣布了按照指示的关系 http://www.yiiframework.com/doc/guide/1.1/en/database.arr
public function relations()
{
return array(
'projects_rel'=>array(self::BELONGS_TO, 'Users', 'user_id'),
);
}
和
public function relations()
{
return array(
'users_rel'=>array(self::HAS_MANY, 'Projects', 'project_id'),
);
}
解决方案
查找以生成用户列表的示例代码
<?php
$form = $this->beginWidget('CActiveForm', array(
'id' => 'project-form',
'enableAjaxValidation' => true,
));
?>
<?php echo $form->dropDownList($model, 'user_id',
CHtml::listData(Projects::model()->with('projects_rel')->findAll(), 'id', 'username'),
array('style'=>'width:150px;')
); ?>
不隶属于 StackOverflow