Yii Framework,TbGridView Fildname无效

时间:2012-09-11 14:47:15

标签: php twitter-bootstrap yii

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

可能是什么问题,谢谢

1 个答案:

答案 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,则需要在属性数组

中定义所有名称