我想在下拉列表中发布组值。如何在值字段中汇总id
和分组(type
)?
CHtml::listData($eventLocationByUser, 'id', 'caption', 'type');
我试过了:
CHtml::listData($eventLocationByUser, 'id'.'type', 'caption', 'type');
但返回空值。
答案 0 :(得分:6)
由于值字段接受匿名函数,您可以这样做:
CHtml::listData(
$eventLocationByUser,
'id',
function($loc){ return $loc->id . " " . $loc->type; }
);
And here is the example from the docs.
另一种方法可能是在模型中添加另一个字段(例如,假设为$ idtype),每次创建或保存记录时都会更新此字段(也许使用某个行为?)然后你可以使用方法:
CHtml::listData( $eventLocationByUser, 'id', 'idtype' });
它可能会将业务逻辑从您的视图移动到您的模型,但只有您可以决定是否值得麻烦。