Php Yii2 kartik select2小部件显示的值太多问题
我已经创建了一个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'=>
<?= 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();
}