2016-09-09 120 views
0

我试图没有成功地从数据库的表中获取元素,并根据一个条件在GridView中显示它们。(Yii)根据CGridView中的条件替换数据库值

这是我在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}', 
    ), 
), 

)); ?>

它仍然无法正常工作。你有另一个想法吗?

+0

对不起。我终于找到了我的错误。 – stfsngue

回答

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}', 
    ), 
), 

)); ?>

相关问题