一个表Product
包含与一个表的 has_many 关系,该表**Slab**
进一步包含与一个表的 has_many 关系Rate
。
一个关系查询被包裹在里面CActiveDataProvider
,它通过某些参数连接三个表,并以它们各自费率的降序返回产品。
我想通过 以表格形式显示结果CGridView
。
尝试通过以下语法仅访问某些列:
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
'name','slabs.id','slabs.rates.rate'
)
));
不幸的是我无法访问slabs.id
,因为当我转储dataProvider
对象时,我看到它通过包含对象Product
的数组附加到对象,然后在对象下有对象。index[0]
Slab
Slab
index[0]
rates.rate
这可能是由于表之间的 has_many 关系而发生的,但我的查询将始终返回一个对象Slab
和一个Rate
对象。
我如何访问和显示它们?