使用giix扩展在Yii Web框架中生成CRUD时显示特定属性

时间:2013-05-17 16:44:33

标签: yii yii-extensions gii

我在YII web框架中使用giix为我的数据库表生成模型和CRUD,事情是我想改变一些显示给我的属性,但我不知道如何?我进入生成的CRUD的代码_FORM.php到其中一个表,我知道我必须更改它以获得不同的属性而不是在不知道原因的情况下向我显示的代码片段?

    <div class="row">
    <?php echo $form->labelEx($model,'idEmployee'); ?>
    <?php echo $form->dropDownList($model, 'idEmployee', GxHtml::listDataEx(Employee::model()->findAllAttributes(null, true))); ?>
    <?php echo $form->error($model,'idEmployee'); ?>
    </div><!-- row -->

在前面的代码中,表单显示了根据idEmployee与当前表连接的另一个表的下拉列表,他显示了一个我不想要的属性,我想知道如何渲染FirstName和LastName下拉列表,请帮忙吗?

1 个答案:

答案 0 :(得分:1)

我相信当您创建自己的下拉列表提供程序

时会更容易 在Employee.php中

添加这两个函数:

public function getFullName()
{
    return $this->first_name.' '.$this->last_name; // or what ever you want to be shown on the drop list
}


public static function getNamesList() {
    return CHtml::listData(self::model()->findAll(), 'idEmployee', 'fullName');
}

在_FORM.php中写道:

<div class="row">
<?php echo $form->labelEx($model,'idEmployee'); ?>
<?php echo $form->dropDownList($model, 'idEmployee', Employee::getNamesList()); ?>
<?php echo $form->error($model,'idEmployee'); ?>
</div><!-- row -->