2

我将一些 json 格式的数据保存到我的数据库中的一个名为 json 的字段中。我使用小部件来显示完整的产品列表。

 <?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"]))在小部件中使用 decoded 值而不是整个字段(称为json)。

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

4

1 回答 1

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

于 2017-01-06T10:11:50.733 回答