如何在yii2的下拉列表中显示名字和姓氏

时间:2017-07-21 13:17:44

标签: yii2-basic-app

我有员工模型,控制器和视图。 Employee表包含FirstName,MiddleName,LastName等。

现在我想在yii2下拉列表中一起显示Employee FirstName和LastName。怎么做?

2 个答案:

答案 0 :(得分:0)

下拉列表需要将项目作为数组。只需将第一个,中间名和姓氏连接起来,将其添加到数组中并将其传递给下拉方法。

$names = [trim($employee->firstName .  ' ' . $employee->middleName .  ' ' .        $employee->lastName)];
echo dropDownList('full-name', null, $names);

或者您可以为Employee定义fullName方法并使用它。

内部员工类

public function getFullName() {
    return trim($this->firstName . ' ' . $this->middleName . ' ' . $this->lastName);
}

用法

$names = [$employee->fullName];

答案 1 :(得分:0)

您可以使用ArrayHelper。首先导入ArrayHelper课程,如下所示。

use yii\helpers\ArrayHelper;

假设您的变量名称为$model。使用idfirst_name映射last_name,如下所示。

$data=ArrayHelper::map($model,'id',function($model){ return $model->first_name.' '.$model->last_name;});

下拉代码

<?php echo $form->field($model, 'user_id')->dropDownList($data); ?>