1

グループ値をドロップダウンに投稿したい。値フィールドでid( ) を連結してグループ化するにはどうすればよいですか?type

CHtml::listData($eventLocationByUser, 'id', 'caption', 'type');

私が試してみました:

CHtml::listData($eventLocationByUser, 'id'.'type', 'caption', 'type');

空の値を返します。

4

1 に答える 1

7

値フィールドは無名関数を受け入れるため、次のように実行できます。

CHtml::listData( 
    $eventLocationByUser, 
    'id', 
    function($loc){ return $loc->id . " " . $loc->type; }
);

そして、これがドキュメントの例です。


別の方法として、別のフィールドをモデルに追加し (たとえば、$idtype としましょう)、レコードを作成または保存するたびに、このフィールドも更新します (おそらくビヘイビアーを使用しますか?)。

CHtml::listData( $eventLocationByUser, 'id', 'idtype' });

ビジネス ロジックをビューからモデルに移動する可能性がありますが、手間をかける価値があるかどうかを判断できるのはあなただけです。

于 2013-05-31T04:59:33.260 に答える