@MikMik

Как подставить значения в поле GridView?

В модели есть переменная либо функция, например такая
public static function programmList(){
        return ['1' => 'A',
                '2' => 'B',
                '3' => 'C',
                '4' => 'D',
                ];
    }


Как сделать подстановку значений из этого массива в поле GridView

[
            'attribute' => 'program',
            'value' => function ($model, $key, $index, $widget) { 
                return $model->programmList == '1' ? 'A' : 'B' ;
            }
        ],


По началу хотел так либо с использованием case, но не удобно изменять значения, т.е. нужно менять и в модели и в форме.
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
OKyJIucT
@OKyJIucT
Sunshine reggae
[
    'attribute' => 'program',
    'value' => function ($model, $key, $index, $widget) { 
        $programmList = $model->programmList();

        return $programmList[$model->program];
    }
],


Только у метода надо убрать static, а вообще я бы такие словари хранил в свойстве модели, а не в методе.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы