0

Yii で CActiveDataProvider を使用してテーブルからデータを取得したいと考えています。すべてがうまくいっているように見えますが、リレーションを使用して別の関連テーブルからデータを表示したい場合、エラーが発生します。'未定義の変数 $data '.

ここに私のadmin.phpビューがあります:

<h1>Manage Teams</h1>


<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'team-grid',
    'dataProvider'=>$dataProvider,
    'columns'=>array(
        'id',
        'team_name',
        array(
            'name'=>'league_id',
            'type'=>'raw',
            'value'=>$data->league->league_name,
            ),
        'create_time',
        'update_time',
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

そして、これがTeamController.phpのactionAdminメソッドです

public function actionAdmin()
    {
        $dataProvider=new CActiveDataProvider('Team', array(

            'criteria'=>array(
                'order'=>'create_time DESC',
            ),
            'pagination'=>array(
                'pageSize'=>20,
            ),
        ));

        $this->render('admin',array(
            'dataProvider'=>$dataProvider,
        ));
    }

その関係は、明らかに、チームがリーグに属しているということです。

4

2 に答える 2

3

を引用符で囲むだけ $data->league->league_nameで、$data 変数が認識されます。次のようになります。

array(
        'name'=>'league_id',
        'type'=>'raw',
        'value'=>'$data->league->league_name',
        ),
于 2014-12-18T08:41:55.253 に答える