[英]Yii2 how to create table template using select2 widget
我有一個使用select2小部件獲得客戶聯系的下拉列表
$getcontact = ArrayHelper::map(OpContact::find()->all(),'id','code');
<div class="col-md-10">'.
$form->field($model, 'contact_id')->widget(Select2::classname(), [
'data' => $getcontact,
'language' => 'en',
'options' => ['placeholder' => 'Select'],
'pluginOptions' => [
'allowClear' => true
],
])->label(false).'
現在,它只是一個正常的下拉列表,只顯示聯系人ID。我如何為它插入第二列並將所有數據放入表中。 例如,我希望下拉菜單看起來像這樣,在其中我可以同時看到ID和聯系人姓名。
------------------------------
ID Contact ID
------------------------------
21 contact1
22 contact2
23 contact3
24 contact1
有人知道嗎 謝謝
如果您只想存儲ID,並且同時看到ID和contactID,並且聯系人ID是您應該使用的ID和代碼的結合,
$getcontact = ArrayHelper::map(OpContact::find()
->select('id, concat(id, code) as contactID')
->all(),'id','contactID');
如果您要存儲兩者都可以
$getcontact = ArrayHelper::map(OpContact::find()
->select('concat(id, code) as id, concat(id, code) as contactID')
->all(),'id','contactID');
您不能全部顯示它們,但是您可以在查詢(如CONCAT)中以字符串模式合並該字段,或在您的foreach合並字符串中加上“。”
如下更改ArrayHelper
。
$getcontact = ArrayHelper::map(OpContact::find()->all(),'id',function($model){ return $model->id.'-'.$model->code; });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.