Kartik-v выберите не заполняя данные в форме

Мне нужна помощь в виджете выбора для картика, который используется в расширенном шаблоне yii2. Данные извлекаются правильно, и я могу распечатать их с помощью функции 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 select

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

это то, что показывает введите здесь описание изображения

Заранее спасибо. Я буду признателен за любое руководство или помощь


person Shammir    schedule 01.04.2017    source источник
comment
не понятно где у вас первая часть кода.. имеется в виду?? .. в контроллере? .. обновите свой вопрос и добавьте контроллер/действие и код просмотра, пожалуйста?   -  person scaisEdge    schedule 01.04.2017
comment
Попробуйте удалить ->asArray() из запроса   -  person gmc    schedule 01.04.2017
comment
@gmc Я пытался удалить -›asArray(), но тоже не работает   -  person Shammir    schedule 03.04.2017
comment
Какая-то ошибка в консоли js?   -  person gmc    schedule 03.04.2017
comment
@scaisEdge код находится в поле зрения. Вот URL-адрес localhost/moamis/frontend/web/index. .php?r=student-reg-details/   -  person Shammir    schedule 03.04.2017
comment
@samuelkungu ... как вы думаете возможен доступ к локальному хосту ... локальному хосту .. имею в виду на вашем компьютере   -  person scaisEdge    schedule 03.04.2017


Ответы (1)


Я решил проблему. В коде

<?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=>"любой"], но виджету требуются данные как 34=>"любой", насколько я понимаю.

person Shammir    schedule 03.04.2017