0

我需要有关 yii2 高级模板中使用的 kartik 选择小部件的帮助。数据被正确获取,我可以使用 print_r 函数打印它。

<?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

     ?>

问题是,此数据未使用 kartik 选择小部件填充到表单字段中

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

这就是显示的 在此处输入图像描述

提前致谢。我将不胜感激任何线索或帮助

4

1 回答 1

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

 ?>

我删除了“->select()->asArray() 以保留 find()->all() ”

函数 asArray() 将值返回为 [34=>"any"] 但小部件需要数据为 34=>"any" 作为我的理解。

于 2017-04-03T12:51:43.867 回答