0

我有一个问题,我有 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 不可点击 TbGridView 截图

可能是什么问题,谢谢

4

1 回答 1

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你需要在属性数组中定义所有名称

于 2013-03-15T17:53:38.627 回答