0

我正在使用 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清单,有什么帮助吗?

4

1 回答 1

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 -->
于 2013-05-17T17:17:43.937 回答