Php 如何在gridview display yii中显示两个表的结果

Php 如何在gridview display yii中显示两个表的结果,php,yii,Php,Yii,我有两张桌子A和B 我有表A的pk,fk在表B中称为member_id $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'transaction-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'columns'=>array( 'id', 'member_id', 'Location', ..

我有两张桌子A和B

我有表A的pk,fk在表B中称为member_id

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'transaction-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
    'id',
    'member_id',
    'Location',
    ...
    array(
        'class'=>'CButtonColumn',
        'template'=>'{view}',
    ),
),
)); 
当girdview显示表B时,我想使用表B中的“Member_id”在表A中显示“Member name”

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'transaction-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
    'id',
    'member_id',
    'Location',
    ...
    array(
        'class'=>'CButtonColumn',
        'template'=>'{view}',
    ),
),
)); 

您需要设置与该表的关系,并且可以使用该关系引用该字段,如下所示:

$data->member->name;
在您的事务模型中,您可以放置如下内容:

public function relations() {
        // NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        return array(
            'member' => array(self::BELONGS_TO, 'Member', 'member_id'),// foreign key
        );
    }
对于网格,您希望:

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'transaction-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
    'id',
       array(
            'header' => 'Member',
            'name' => 'member_id',
            'value' => '$data->member->name'
        ),

    'Location',
    ...
    array(
        'class'=>'CButtonColumn',
        'template'=>'{view}',
    ),
),
)); 

您需要设置与该表的关系,并且可以使用该关系引用该字段,如下所示:

$data->member->name;
在您的事务模型中,您可以放置如下内容:

public function relations() {
        // NOTE: you may need to adjust the relation name and the related
        // class name for the relations automatically generated below.
        return array(
            'member' => array(self::BELONGS_TO, 'Member', 'member_id'),// foreign key
        );
    }
对于网格,您希望:

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'transaction-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
    'id',
       array(
            'header' => 'Member',
            'name' => 'member_id',
            'value' => '$data->member->name'
        ),

    'Location',
    ...
    array(
        'class'=>'CButtonColumn',
        'template'=>'{view}',
    ),
),
)); 

您好,我已经完成了上述步骤,但是,我得到了错误,因为为foreach()提供的
参数无效。
。文件和行号是
/var/www/Yii/Yii-1.1.13.e9e4a0/framework/db/ar/CActiveFinder.php(784)
您好,我已经完成了上述步骤,但由于为foreach()提供的
参数无效,所以出现了错误。文件和行号为
/var/www/Yii/Yii-1.1.13.e9e4a0/framework/db/ar/CActiveFinder.php(784)