yii2外键下拉菜单

I am trying to display a dropdown with a category list in yii2 framework.

The tables in my database are setup with foreign key and used Model and Crud generator to generate the code.

I am trying to edit the code now to change the textfield into a dropdown with the values from the category 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') ?>

This comes back with the error "2.yii\base\ErrorHandler::handleFatalError()"

Most related post to my problem refer to version 1 of the framework but can't find a good example how to do this with version 2.

I overlooked the error on top saying 'Class ArrayHelper not Found' this has been resolved by adding the following line on top:

use yii\helpers\ArrayHelper;

Add ->asArray() to your find query:

$categoryArray = ArrayHelper::map(\app\models\Category::find()->orderBy('name')->asArray()->all(), 'id', 'name');
 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']
       )?>