转换GridView列,以便显示静态数组中的数据

时间:2016-06-13 11:48:54

标签: php yii2

使用gii,我基于数据库表创建了一个模型,然后为模型创建了CRUD。其中一列显示为1或2,因为它们存储在数据库中。要创建新的,使用ActiveForm-> dropDownList()小部件很容易:

<?= $form->field($model, 'type')->dropDownList(['1'=>'Role', '2'=>'Permission'], ['prompt'=>'Select Auth Item Type']) ?>

如何使用GridView并显示Role代替1Permission代替2

1 个答案:

答案 0 :(得分:1)

在gridview中,您可以使用值

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        ['class' => 'yii\grid\SerialColumn'],
        .........
        [
            'attribute' => 'type',
            'label' => 'Type',
            'format' => 'raw',
            'value' => function ($model) {                      
                 if ( $model->type == 1) {
                    return 'Role';
                 } else {
                    return 'Permission';
                 }
            },
        ],