php yii CGridView从不同的模型中添加列

时间:2012-09-19 16:04:35

标签: php model yii

我的admin.php视图文件中有以下内容,模型为Components

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'components-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    /*'attributes'=>array(
        array(
         'label'=>'Asset Number',
                'value'=>"help",
        ),
    ),*/
    'columns'=>array(
        'component_id',

        'description',
        'version',
        'serial_no',
        'purchase_date',
        /*'disposal_date',

        'model',
        'nol',
        'manufacturer',
        'medium',
        */
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

我想添加一个名为资产编号的额外列,这是另一个模型FixedAsset中的字段。这两个表在模型ComAsset中与它们的PK链接在一起。我理想的尝试是检查Components中的每条记录,看看它是否通过component_id链接,如果是,请使用{{1}从original_asset_number中取出FixedAsset来自fixed_asset_id

关系

组件 - comasset = 1:1

fixedasset - comasset = 1:M

1 个答案:

答案 0 :(得分:0)

假设在各个模型中正确设置了关系,您应该能够通过$data->relationshipName中的CGridView访问相关信息。如果我从您的说明中获得了正确的关系,则此列的value部分应如下所示:$data->comAsset->fixedAsset->name