Yii CGridView 数据是外键

Yii CGridView data is foreign key

我在使用 CGridView 时遇到了一些困难,其中一个字段是另一个字段的外键 table。

有一个名为 Person 的 table,它包含一个 id_scholarity

还有 table 奖学金,其中 id_scholarity 是 PK。我想显示学术描述而不是身份证号码。

Gii 已创建关系:

在奖学金模式中:

return array(
            'person' => array(self::HAS_MANY, 'PERSON', 'ID_SCHOLARITY'),
        );

亲身模特

return array(
    'id_scholarity' => array(self::BELONGS_TO, 'SCHOLARITY', 'ID_SCHOLARITY'),
);

最后是我的网格(在 views/person/admin.php)

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

        'NAME',
        array('name'=>'ID_SCHOLARITY', 'value'=>'$data->ID_SCHOLARITY->DESCRIPTION'),

        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); 

页面变成空白(顺便问一下,我怎样才能让 yii 显示错误?)。 我做错了什么?

尝试

'columns'=>array(

        'NAME',
        array('value'=>'$data->id_scholarity->DESCRIPTION'),

        array(
            'class'=>'CButtonColumn',
        ),
    ),

当您使用箭头运算符访问其他 table 时,您必须使用关系名称而不是属性名称来访问它。在您的代码关系名称中是 id_scholarity 但您使用的是 ID_SCHOLARITY .