如何在窗口小部件中使用json数据的元素而不是字段来显示完整列表?

时间:2017-01-06 10:01:17

标签: php json yii yii1.x

我将一些json格式的数据保存到我的数据库中,名为json。我使用了widget来显示完整的产品列表。

 <?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'page-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'name',
        'json',
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

我解码了包含json数据的字段(称为json)。我将在小部件中使用已解码json(p_1 element of decoded json (json["p_1"]))的值而不是整个字段(称为json)。

(因为字段(称为json)包含大量数据,我只需要一个数据)。如何使用p_1而不是字段(称为json)?

1 个答案:

答案 0 :(得分:1)

您可以将php表达式作为要显示的值传递。 $data表示该行的数据模型。

'columns' => array(
    'id',
    'name',
    array(
        'name' => 'json',
        'value' => '$data->json["p_1"]'
    ),

参考:http://www.yiiframework.com/doc/api/1.1/CDataColumn#value-detail