我正在尝试在yii2框架中显示带有类别列表的下拉列表。
我的数据库中的表是使用外键设置的,并使用Model和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') ?>
返回错误&#34; 2.yii \ base \ ErrorHandler :: handleFatalError()&#34;
我的问题的大多数相关帖子都引用了框架的第1版,但无法找到如何使用版本2执行此操作的一个很好的示例。
答案 0 :(得分:4)
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']
)?>
答案 1 :(得分:1)
我忽略了最常见的错误&#39; Class ArrayHelper not Found&#39;通过在顶部添加以下行来解决此问题:
use yii\helpers\ArrayHelper;
答案 2 :(得分:0)
将setView
添加到您的查询中:
->asArray()