簡體   English   中英

Yii2如何使用select2小部件創建表格模板

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM