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がDBテーブルのいずれかと同じ名前であるかどうかを確認してください。

于 2012-04-06T12:36:51.977 に答える