2017-04-01 55 views
0

我需要关于yii2高级模板中使用的kartik的选择控件的帮助。 数据正在被正确取出,我可以使用print_r功能打印它。Kartik-v选择不填充表格中的数据

<?php 
 
     $facultiesData = Faculties::find() 
 
         ->select(['faculty_id','faculty_name']) 
 
         ->asArray() 
 
         ->all(); 
 
     $facultiesData = ArrayHelper::map($facultiesData, 'faculty_id','faculty_name'); 
 

 
     print_r($facultiesData); //print values on screen 
 

 
    ?>

的问题是,这个数据没有被填充与卡尔蒂克表单字段选择控件

<?= $form->field($model, 'faculty_id')->widget(Select2::classname(), [ 
 
     'data' => $facultiesData, 
 
     'language' => 'en', 
 
     'options' => ['placeholder' => 'choose property ...'], 
 
     'pluginOptions' => [ 
 
      'allowClear' => true 
 
     ], 
 
    ]); 
 
    ?>

这是什么显示 enter image description here

在此先感谢。我会感谢任何领导或帮助

+0

不清楚你在哪里有第一部分代码..在视图?? ..在控制者? ..更新你的问题,并添加控制器/动作和视图代码吗? – scaisEdge

+0

尝试从您的查询中删除' - > asArray()' – gmc

+0

@gmc我试图删除 - > asArray(),但是不起作用 –

回答

0

我解决了这个问题。在代码

<?php 
    $facultiesData = Faculties::find() 
        ->select(['faculty_id','faculty_name']) 
        ->asArray() 
        ->all(); 
    $facultiesData = ArrayHelper::map($facultiesData, 'faculty_id','faculty_name'); 

    print_r($facultiesData); //print values on screen 

?> 

我删除 “ - >选择() - > asArray()保持与find() - >所有()”

函数asArray()返回值[34 = >“任何”],但小部件需要数据为34 =>“任何”,至于我的理解。