首先在 control里用sql查询结果生成ArrayProvider :
//sql语句中使用 A.x, B.x, C.x 分别引用 A、B、C 三表中的同名字段x
$sql ='SELECT A.x, B.x, C.x
FROM A a
LEFT JOIN B b ON a.id = b.id
LEFT JOIN C c ON a.id = c.id'
$array_data = Yii::app()->db->createCommand($sql)->queryall();
$ArrayProvider = new CArrayDataProvider($array_data, array(‘keyField’=>‘x’,) //指定字段x作为主键
然后在 view 里使用CGridView 展示:
$this->widget(‘zii.widgets.grid.CGridView’,array(
'dataProvider'=>$ArrayProvider,
'columns'=>array(
array( 'name'=>'A.x',
'value'=>'$data["x"]',
),
array( 'name'=>'B.x',
'value'=>'$data["x"]', [color="#FF0000"]<--问题是,此句应该怎么写才能引用到B.x ?[/color]
),
array( 'name'=>'C.x',
'value'=>'$data["x"]', [color="#FF0000"]<--同上,此句应该怎么写才能引用到C.x[/color]
),
),
));