Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

yii2 foreign key dropdown

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.

like image 522
Gerard van den Bosch Avatar asked May 22 '15 10:05

Gerard van den Bosch


2 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']
       )?> 
like image 54
Yagnesh bhalala Avatar answered Sep 22 '22 23:09

Yagnesh bhalala


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;
like image 23
Gerard van den Bosch Avatar answered Sep 23 '22 23:09

Gerard van den Bosch