-2

Showing names of MilliStones in activeDropDownList of Yii2, but now i wants to concatenate another field with it(Like number of millistone).

e.g ( Milli Stone Name - Number of stones ).

<?= Html::activeDropDownList($model, 'milli_stone_id',ArrayHelper::map(MilliStones::find()->where(['cat_id' => $Rings->milli_cat])->all(), 'id', 'name'),['prompt'=>'Select Milli Stone','class'=>'form-control']) ?>

2 Answers2

0

You should use a select clause in find() this way

    <?= Html::activeDropDownList($model, 'milli_stone_id', 
        ArrayHelper::map(MilliStones::find()->
            select('id, concat(name, id) as name ')->
            where(['cat_id' => $Rings->milli_cat])->all(), 'id', 'name'),
        ['prompt'=>'Select Milli Stone','class'=>'form-control']) ?>
ScaisEdge
  • 131,976
  • 10
  • 91
  • 107
0
<?= Html::activeDropDownList($model, 'milli_stone_id',ArrayHelper::map(MilliStones::find()->where(['IN', 'id', $IdsArray2])->asArray()->all(),
                    'id',
                    function($model, $defaultValue) {
                        return $model['id'].'-'.$model['name'];
                    }
                ),['prompt'=>'Select Milli Stone','class'=>'form-control']) ?>
  • ref: http://stackoverflow.com/questions/27768540/yii2drop-down-list-for-multiple-values-concat-in-one-line worked like a charm. – Malik Fayyaz May 26 '16 at 13:05