0

私はyiiフレームワークが初めてです。私は 2 つのモデル (Tables多数あります) を持っており、モデルからのPeriodeDatasデータをテーブルのインデックス ビューに表示したいのですが、これを機能させることができません。PeriodeDatasCGridView

の列

The followings are the available columns in table 'nkr_tables':
@property integer $id
@property string $title
@property string $periode

テーブルモデル関​​係

'periodeData' => array(self::HAS_MANY, 'PeriodeDatas', 'table_id')

PeriodeDatas

The followings are the available columns in table 'nkr_periode_datas':
@property integer $id
@property integer $table_id
@property string $year

PeriodeDatasモデル関係

'table' => array(self::BELONGS_TO, 'Tables', 'table_id')

テーブルコントローラー

public function actionIndex()
{
    $model = new Tables('search');
    $model->unsetAttributes();

    if (isset($_GET['Tables']))
        $model->attributes = $_GET['Tables'];

    $this->render('index', array('model' => $model));
}

テーブル ビュー

$this->widget('zii.widgets.grid.CGridView', 
array(
    'id'=>'tables-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns' => array(
        array(
            'name' => 'title',
            'header' => 'Data Title'
            ),
        'periode',
        array(
            'name' => 'periodeData.year',
            'header' => 'Tahun'
            )
        ),
    'selectionChanged'=>'function(id) { location.href = "'.$this->createUrl('tables/view').'/"+$.fn.yiiGridView.getSelection(id);}'
    )
);

結果: http: //prntscr.com/18jpp1

テーブルビューでyearモデルから表示するには?PeriodeDatasCGridView

*下手な英語でごめんなさい


更新
追加しようとしまし'value' => '$data->periodeData->year'たが、エラーが発生しましたTrying to get property of non-object

更新
試し'value' => '$data->periodeData[0]->year'てみたところ、年が正しく表示されましたが、テーブルにレコードが1つしかない場合。テーブルに複数のレコードがある場合、エラーが発生しますUndefined offset: 0

それから私は試し'value' => '$data->periodeData[$data->id]->year'てみましたが、エラーが発生しましたUndefined index: 1

4

1 に答える 1