(Yii)根据CGridView中的条件替换数据库值

时间:2016-09-09 11:19:38

标签: php gridview yii

我正在尝试从数据库表中获取元素并根据一个条件在Gridview中显示它们,但没有成功。

这是我的gridview代码:

<?php $this->widget('zii.widgets.grid.CGridView', array(
'id' => 'invoice-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'columns' => array(     

    'number',
    'recipient_user_id',
    'recipientName',
    'recipientCompany',
     'type' => function($data, $row) {
                    if ($data->type == 1) { return "Hello"; } 
                    if ($data->type == 2) { return "Bye"; }
                    if ($data->type == 3) { return "Good"; }
                    if ($data->type == 4) { return "Milk"; }
                },
    'periodFrom',

    array(
        'class' => 'CButtonColumn',
        'template'=>'{view}',
    ),
),

)); ?&GT;

它仍然无效。你有其他想法吗?

1 个答案:

答案 0 :(得分:0)

对不起。我终于找到了我的错误。通常我应该这样做:

<?php $this->widget('zii.widgets.grid.CGridView', array(
'id' => 'invoice-grid',
'dataProvider' => $model->search(),
'filter' => $model,
'columns' => array(     

    'number',
    'recipient_user_id',
    'recipientName',
    'recipientCompany',

        array(
                'name'=>'type',
                'value'=>function($data, $row) {
                    if ($data->type == 1) { return "Hello"; } 
                    if ($data->type == 2) { return "Bye"; }
                    if ($data->type == 3) { return "Good"; }
                    if ($data->type == 4) { return "Milk"; }
                },

        ),

    'periodFrom',

    array(
        'class' => 'CButtonColumn',
        'template'=>'{view}',
    ),
),

)); ?&GT;