yii2 外键下拉

yii2 foreign key dropdown

我正在尝试在 yii2 框架中显示带有类别列表的下拉列表。

我的数据库中的 table 设置了外键,并使用模型和 Crud 生成器生成代码。

我正在尝试编辑代码,将文本字段更改为下拉列表,其中包含类别 table 中的值。

<?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\base\ErrorHandler::handleFatalError()”

与我的问题最相关的 post 是指框架的版本 1,但找不到如何使用版本 2 执行此操作的好示例。

->asArray() 添加到您的查找查询中:

$categoryArray = ArrayHelper::map(\app\models\Category::find()->orderBy('name')->asArray()->all(), 'id', 'name');

我忽略了顶部的错误 'Class ArrayHelper not Found' 这已通过在顶部添加以下行解决:

use yii\helpers\ArrayHelper;
 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']
       )?>