我想把kodepos和kabupaten属性放在一个下拉列表中。kodepos和kabupaten属性都包含在数据库中。有人能帮助我吗?谢谢
<?= $form->field($model, 'origin')->label('Origin')->widget(Select2::classname(), [
'data' => ArrayHelper::map(MKota::find()->all(),'kodepos','kodepos'),
'theme' => Select2::THEME_BOOTSTRAP,
'language' => 'en',
'options' => ['placeholder' => 'Pilih Kode Pos','required' => true,'style'=>'width:500px','maxlength' => true],
'pluginOptions' => [
'allowClear' => true
],
]);
?>
<?= $form->field($model, 'origin_name')->label('Origin')->widget(Select2::classname(), [
'data' => ArrayHelper::map(MKota::find()->all(),'kabupaten','kabupaten'),
'theme' => Select2::THEME_BOOTSTRAP,
'language' => 'en',
'options' => ['placeholder' => 'Pilih Kota Asal','required' => true,'style'=>'width:500px','maxlength' => true],
'pluginOptions' => [
'allowClear' => true
],
]);
?>
1条答案
按热度按时间3j86kqsm1#
您需要更改
ArrayHelper::map()
,以将closure
用于第三个参数或$to
参数,并根据需要返回两个连接的字段。字段名称不清楚,您希望在第一个和第二个下拉列表中显示为文本,因此我假设整数值来自
id
字段。我将添加一段代码,该代码将
id
和kodepos
连接显示为第一个下拉列表的文本,并将id
和kabupaten
连接显示为第二个下拉列表的文本。编辑:
您希望将
kodepos
和kabupaten
放在一个下拉列表中,而不是两个下拉列表,因此将代码更改为以下代码