YII 2 657
26 Июня 2017 01:22
Подготавливаем данные из базы для выпадающего списка в Yii2

Данный универсальный метод позволяет получить миссив вида id записи => отображаемое имя для выпадающего списка из базы данных для модели ActiveRecord.

/**
 * Данные для элемента формы DropDownList
 * Возвращает массив записей или пустой массив
 *
 * @param string $index_key - атрибут индексации
 * @param string $label_key - атрибут отображаемого имени
 * @return array
 */
public static function listAll($index_key = 'id', $label_key = 'name')
{
    $items = array();
    $models = static::find()->all();

    foreach($models as $model) {
        $items[$model->{$index_key}] = $model->{$label_key};
    }

    return (count($items) > 0) ? $items : [];
}

Пример использования:

echo $form->field($model, 'parent_id')
        ->dropDownList($model::listAll());
Рейтинг: 0

Нет комментариев к этой записи, Вы можете добавить свой комментарий.