如何在 yii 1 中解码 CDetailView 中的 json 数据

How to decode json data in CDetailView in yii 1

我认为有以下代码:

<?php $this->widget('zii.widgets.CDetailView', array(
    'data' => $model,
    'attributes' => array(
        'id',
        'name',
        array(
            'label' => 'Company',
            'type'  => 'raw',
            'value' => 'CJSON::decode($data->json)["Block"]["p_1"]',
        ),
    ),
)); ?>

我的数据库中有一个名为 json 的字段。该字段包含 json 格式的数据。我使用以下代码来解码 json 数据:

array(  'label' => 'Company',
        'type'=>'raw',
        'value' =>'CJSON::decode($data->json)["Block"]["p_1"]',
),

当我在 CGridView 中使用此 json 解码代码时,它起作用并返回了所需的值。但是,当我在 CDetailView 中使用这段代码时,它不起作用。小部件返回此代码 CJSON::decode($data->json)["Block"]["p_1"] 而不是解码数据。如何解码 CDetailView 中的 json 数据?

无需传递字符串作为 CDetailView 的值。因此,您可以使用:

'value' => CJSON::decode($model->json)["Block"]["p_1"],