Drop down menu Yii-chtml:listData来自数据库,具有1个键和2个值

Drop down menu Yii-chtml:listData来自数据库,具有1个键和2个值,drop-down-menu,yii,Drop Down Menu,Yii,我有一个用数据库填充的下拉列表。使用1个键和1个值,它就可以正常工作。但是我如何让它与1个键和2个值一起工作呢。这两个值是名字和姓氏 <?php $id = Yii::app()->user->id; $clients = Clients::model()->findAll(array("condition"=>"cId = $id")); $list = CHtml::listData($clients, 'id', 'fname

我有一个用数据库填充的下拉列表。使用1个键和1个值,它就可以正常工作。但是我如何让它与1个键和2个值一起工作呢。这两个值是名字和姓氏

<?php
    $id = Yii::app()->user->id;    
    $clients = Clients::model()->findAll(array("condition"=>"cId =  $id"));
    $list = CHtml::listData($clients, 'id', 'fname');
?>

<?php echo $form->labelEx($model,'clientId'); ?>

<?php echo CHtml::dropDownList('clientId', $model, $list, array(
    'empty' => 'Select a client',
    'class' => 'form-control'
)); ?>

<?php echo $form->error($model,'clientId'); ?>

//needs something like this 
$list = CHtml::listData($clients, 'id', 'fname lname');

//需要这样的东西
$list=CHtml::listData($clients,'id','fname-lname');

我认为您应该将
全名
定义为
虚拟属性
,并将其用于dropdownlist

例如:

我想你有一个模特,包括
firstname
lastname
。您可以定义
虚拟属性
,如:

class Person extends CActiveRecord {
   public function getFullName()
   {
      return $this->firstname . " " . $this->lastname;
   }
   ...
}
在视图中,可以使用CHtml::listData,如:

echo $form->dropDownList($model, 'personid',
    CHtml::listData( Person::model()->findAll(), 'id', 'fullname' )
);

我希望它对您有用。

我认为您应该将
全名
定义为
虚拟属性
,并将其用于下拉列表

例如:

我想你有一个模特,包括
firstname
lastname
。您可以定义
虚拟属性
,如:

class Person extends CActiveRecord {
   public function getFullName()
   {
      return $this->firstname . " " . $this->lastname;
   }
   ...
}
在视图中,可以使用CHtml::listData,如:

echo $form->dropDownList($model, 'personid',
    CHtml::listData( Person::model()->findAll(), 'id', 'fullname' )
);

我希望它对您有用。

我使用这个简单的方法在下拉列表中设置cat属性/字符串。您甚至可以为选项组使用第三个参数

echo  $form->dropDownListRow($model,'personid',
CHtml::listData(Person::model()->findAll(
array("select"=>"id,concat(firstname ,' ',lastname) as fullname")),
'id', 'fullname'));
模范班

public $fullname;

我使用这个简单的方法在下拉列表中设置cat属性/字符串。您甚至可以为选项组使用第三个参数

echo  $form->dropDownListRow($model,'personid',
CHtml::listData(Person::model()->findAll(
array("select"=>"id,concat(firstname ,' ',lastname) as fullname")),
'id', 'fullname'));
模范班

public $fullname;

完美的正是我所需要的完美!正是我需要的