Ballly
@Ballly

Как в форме вместо числа (id) вывести имя поля соответствующего этому id?

Всем здравствуйте! Подскажите пожалуйста, при переходе в вид по одному из значений, я передаю идентификатор родительского элемента. После перехода в вид, идентификатор родительского элемента (parent_id) выставляется в соответствующем поле, но так как отображать идентификатор не совсем удобно, хотелось бы видеть вместо id - имя поля (name) соответствующего данному id. В данном случае у меня проставляется id = 1, а поле name = Рабочее место пользователя. Подскажите, как вместо идентификатора отображать его имя?
5c12a580ef6d4483698266.png
В текущий момент мною написана такая конструкция,
$parent = Type::find()->where(['parent_id' => 0])->all();
$items = ArrayHelper::map($parent, 'id', 'name');

Распечатка выглядит следующим образом
Array
(
    [1] => Рабочее место пользователя
    [5] => Периферийные устройства
    [11] => СПД/ЛВС
    [28] => Билетно-кассовое оборудование
)
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
$form->field($model, "field")->dropDownList($items, ['prompt' => 'Выберите'])


Можно сразу получить из базы индексированный массив.
$items = Type::find()->select(['name'])->where(['parent_id' => 0])->indexBy('id')->column();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы