在yii下拉列表中输出时,在CHtml :: listData中连接2个字段

时间:2014-09-12 07:16:20

标签: php yii

<?php echo $form->dropDownList($model,'size', CHtml::listData(Size::model()->findAll(), 'id', 'width'. 'x' .'height' )); ?> 

我正在创建一个下拉菜单,我希望连接字段的宽度和高度,以便在我的下拉列表中看起来像10 x 10。我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

您需要使用匿名函数来执行此操作。为清晰起见,我会遗漏你的下拉列表:

$dropDownData = CHtml::listData(Size::model()->findAll(), 'id', function($size) {
    return CHtml::encode($size->width . 'x'. $size->height);
});

当然,你需要一个适合匿名函数的PHP版本(5.3及以上版本)。

答案 1 :(得分:1)

对于PHP版本&lt; 5.3您可以使用virtual attribute概念...将以下方法添加到尺寸模型中:

public function getWxh()
{
    return $this->width . 'x' . $this->height;
}

然后直接使用 wxh 属性:

$form->dropDownList($model,'size', CHtml::listData(Size::model()->findAll(), 'id', 'wxh' ));