yii2外键下拉菜单

时间:2015-05-22 10:17:18

标签: php drop-down-menu foreign-keys yii2

我正在尝试在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执行此操作的一个很好的示例。

3 个答案:

答案 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()