我有两张表A和表B.
我有表A的pk,就像表B中的fk名为member_id一样。
在表B的girdview显示时,我想在表A中使用表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}',
),
),
));
答案 0 :(得分:4)
您需要设置与该表的关系,您可以使用该关系引用该字段,如下所示:
$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}',
),
),
));