【问题标题】:Yii CGridView data is foreign keyYii CGridView 数据是外键
【发布时间】:2015-03-08 00:10:09
【问题描述】:

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

有一个名为 Person 的表,其中包含一个 id_scholarity

还有一个表 Scholarity,其中 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 显示错误?)。 我做错了什么?

【问题讨论】:

    标签: yii cgridview


    【解决方案1】:

    试试

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-01
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-20
      • 1970-01-01
      相关资源
      最近更新 更多