gpt4 book ai didi

php - Yii2 kartik select2 小部件也显示值问题

转载 作者:行者123 更新时间:2023-12-05 06:20:48 25 4
gpt4 key购买 nike

我创建了一个 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
]
]); ?>

以及为select2获取数据的函数,如

 public static function getCarMakesEnglish(){
$out=array();
$makes=CarMakes::find()->select(['id','make_eng'])->all();
foreach ($makes as $make) {
array_push($out,array($make['id'] => $make['make_eng']));
}
return $out;
}

它的工作完美。但是有一个问题。请看下面的图片

enter image description here

它不仅显示名称而且还显示值。我只想显示品牌名称。如何做到这一点

最佳答案

因为您将一个数组推送到 $out 的每个索引

array_push($out,array($make['id'] => $make['make_eng']))

你应该使用yii\helpers\ArrayHelper::map()相反,它会为你做这件事。将函数 getCarMakesEnglish() 更改为以下内容

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

关于php - Yii2 kartik select2 小部件也显示值问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60239575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com