Php Yii2 kartik select2小部件显示的值太多问题

Php Yii2 kartik select2小部件显示的值太多问题,php,yii2,kartik-v,Php,Yii2,Kartik V,我已经创建了一个yii2 kartik select2小部件来选择多个车型,如下所示 <?= Select2::widget([ 'name' => 'drp-make', 'data' => Car::getCarMakesEnglish(), 'value' => explode(",",$model->drp_make), 'options' => [ 'id'=>

我已经创建了一个yii2 kartik select2小部件来选择多个车型,如下所示

<?= Select2::widget([
        'name' => 'drp-make',
        'data' => Car::getCarMakesEnglish(),
        'value' => explode(",",$model->drp_make),
        'options' => [
          'id'=>'drp-make',
          'placeholder' => 'All Makes',
          'multiple' => true
        ]
      ]); ?>
它工作得很好。但是有一个问题。请看下图


它不仅显示名称,还显示值。我只想显示生成名称。如何做到这一点

,因为您正在将数组推送到
$out

array_push($out,array($make['id'] => $make['make_eng']))
您应该使用为您执行此操作的。将函数
getCarMakesEnglish()
更改为以下内容

public static function getCarMakesEnglish()
{
    $makes = CarMakes::find()->select(['id', 'make_eng'])->all();
    return \yii\helpers\ArrayHelper::map($makes,'id','make_eng');
}

除了@MuhammadOmerAslam answer外,您还可以使用

public static function getCarMakesEnglish()
{
    $makes = CarMakes::find()->select(['id', 'make_eng'])->all();
    return \yii\helpers\ArrayHelper::map($makes,'id','make_eng');
}
public static function getCarMakesEnglish()
{
    return CarMakes::find()->select('make_eng')->indexBy('id')->column();
}