我有一个问题,我有2个表用户和数据,关系是一对一,这里是dataProvider的代码
$dataProvider = new CActiveDataProvider('Users', array(
'pagination'=> array(
'pageSize'=> 10
),
'criteria'=>array(
'with' => array (
'data'=>array(
'joinType'=>'JOIN')
)
),
)
));
和关系'data' => array(self::HAS_ONE, 'Data', 'id');
和TbGridView的代码
$this->widget('bootstrap.widgets.TbGridView', array(
'dataProvider'=>$dataProvider,
'template'=>"{items} {pager}",
'itemsCssClass'=>'table table-striped table-bordered table-condensed tableNews',
'columns'=>array(
array('name'=>'id', 'header'=>'#'),
array('name'=>'name'),
array('name'=>'email'),
array('name'=>'data.id'),
array('name'=>'data.investment_amount')
));
对于第二个表我必须放入data.fildname,否则不起作用,第二个表的fildnames不可点击
可能是什么问题,谢谢
答案 0 :(得分:0)
return new CActiveDataProvider("Users", array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>$defaultOrder,
'attributes'=>array(
'id'=>array(
'asc'=>'t.id',
'desc'=>'t.id DESC',
),
'data.investment_amount'=>array(
'asc'=>'data.investment_amount',
'desc'=>'data.investment_amount DESC',
),
但如果使用sort
,则需要在属性数组