Создание массивов для форм в Yii2

При генерации форм в Yii2 для выпадающих списков и списков чекбоксов нужны массивы данных в виде пар [ключ => значение]. Подготовить такие массивы можно либо исключительно силами ORM:

use app\models\Brand;

$brands = Brand::find()
    ->select('brand')
    ->orderBy('brand')
    ->indexBy('id')
    ->column();

либо при помощи класса-помощника ArrayHelper:

use app\models\Brand;
use yii\helpers\ArrayHelper;

$brands = ArrayHelper::map(Brand::findAll(), 'id', 'brand');

Добавляем в ActiveForm выпадающий список:

$form->field($model, 'id_brand')
    ->label('Бренд')
    ->dropdownList($brands);

Список чекбоксов:

Html::activeCheckboxList($model, 'id_brand', $brands);
Share on VKShare on FacebookPin on PinterestTweet about this on Twitter