<?php echo $form->dropDownList($model,'size', CHtml::listData(Size::model()->findAll(), 'id', 'width'. 'x' .'height' )); ?>
我正在创建一个下拉菜单,我希望连接字段的宽度和高度,以便在我的下拉列表中看起来像10 x 10。我怎么能这样做?
答案 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' ));