раскрывающийся список внешнего ключа yii2
Я пытаюсь отобразить выпадающий список со списком категорий в рамках yii2.
Таблицы в моей базе данных настроены с использованием внешнего ключа и используемой модели и генератора Crud для генерации кода.
Сейчас я пытаюсь отредактировать код, чтобы изменить текстовое поле в раскрывающемся списке со значениями из таблицы категорий.
<?php $categoryArray = ArrayHelper::map(\app\models\Category::find()->orderBy('name')->all(), 'id', 'name') ?>
<?= $form->field($model, 'category_id')->dropDownList($categoryArray, ['prompt' => '---- Select category ----'])->label('category') ?>
Это возвращается с ошибкой "2.yii\база\обработчик ошибок::handlefatalerror()"
Большинство сообщений, связанных с моей проблемой, относятся к версии 1 фреймворк, но не могу найти хороший пример, как это сделать с версией 2.
5
Author: Gerard van den Bosch, 2015-05-22
3 answers
use yii\helpers\ArrayHelper;
use backend\models\Model_name;
<?= $form->field($model, 'Field_id')->dropDownList(
ArrayHelper::map(<Model_name>::find()->all(),'Field_id','Field_name'),
['prompt'=>'Select XYZ']
)?>
4
Author: Yagnesh bhalala, 2016-06-23 12:11:52
Я пропустил ошибку сверху, в которой говорилось "Класс ArrayHelper не найден", это было решено путем добавления следующей строки сверху:
use yii\helpers\ArrayHelper;
1
Author: Gerard van den Bosch, 2015-05-22 12:02:27
Добавьте ->asArray()
в свой запрос поиска:
$categoryArray = ArrayHelper::map(\app\models\Category::find()->orderBy('name')->asArray()->all(), 'id', 'name');
0
Author: Viacheslav, 2015-05-22 11:27:56