1

我对 Yii 的关系有疑问。我正在使用 CGridView 在视图中显示表格。

我的模型中有以下关系:

'relationName' => array(self::BELONGS_TO, OtherModelName, link_id),

当我像下面的示例一样调用 CGridView 中的值时,它可以正常工作:

'relationName.field_name',

当我尝试调用数组中的值时,如下例所示:

array('header'=>'tableHeaderName', 'value'=>'$data->relationName->field_name'),

我的页面失败,我收到以下错误:Trying to get property of non-object

有什么想法或建议吗?非常感谢你的帮助。

4

2 回答 2

1

我自己最近也遇到过这个问题。你需要这样的东西:

array(
    'header'=>'tableHeaderName',
    'value'=>'(isset($data->relationName)) ? $data->relationName->field_name : null',
)

如果关系并不总是存在,Yii 会发疯。因此,如果您的数据/关系有任何差距,那么您就会遇到问题。

于 2012-04-05T23:08:47.510 回答
0

检查您relationName是否与您的任何数据库表具有相同的名称。

于 2012-04-06T12:36:51.977 回答