【问题标题】:Yii2 how to create table template using select2 widgetYii2 如何使用 select2 小部件创建表格模板
【发布时间】:2017-05-30 02:21:59
【问题描述】:

我有一个使用 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-code?​​span>
  • @YasinPatel yaya

标签: php html yii2 jquery-select2


【解决方案1】:

如果您只想存储 id 并查看 id 和 contactID 并且联系人 ID 是您可以使用的 id 和代码的 concat

$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');

【讨论】:

  • 好的,谢谢。但是可以像我在那里画的那样,把整个表格放在下拉列表中?
  • “把整张桌子放在里面……”是什么意思? find() ...->all() 选择的所有行都显示在下拉列表中 ..
  • ermm 下拉菜单看起来像一个表格。顶行显示ID和联系人,然后我可以选择下面列出的数据
  • 如果您的意思是您需要列名的标题 .. 那么您应该构建一个新的小部件 .. 管理下拉列表的方面和行的选择,但不用于标题.. .我认为这是很多代码..
【解决方案2】:

你不能显示所有这些,但你可以在你的查询中以字符串模式合并该字段,如 CONCAT 或在你的 foreach 合并字符串中与“.”一起

【讨论】:

    【解决方案3】:

    如下更改ArrayHelper。

    $getcontact = ArrayHelper::map(OpContact::find()->all(),'id',function($model){ return $model->id.'-'.$model->code; });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-19
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-18
      • 1970-01-01
      • 2019-07-03
      相关资源
      最近更新 更多