【问题标题】:Can't sort related columns of CGridView widget, Yii 1.1无法对 CGridView 小部件的相关列进行排序,Yii 1.1
【发布时间】:2016-10-27 15:20:21
【问题描述】:

我正在使用此 DataProvider 来提供 CGridView 小部件,但列仍然不能显示为可点击,当然也不允许排序。
这里有什么问题?

控制器:

$dataProvider = new CActiveDataProvider( 'SubscriberAuthor', [
    'criteria' => [
        'with' => [
            'subscriber' => [ 'select' => 'name, email' ]
        ],
        'condition' => "author_id = {$author_id} And verified = 1"
    ],
    'sort' => [
        'attributes' => [
            'name'=> [
                'asc'=>'subscriber.name Asc',
                'desc'=>'subscriber.name Desc',
            ],
            'email'=> [
                'asc'=>'subscriber.email Asc',
                'desc'=>'subscriber.email Desc'
            ]
        ]
    ],
    'countCriteria' => [ 'condition' => "author_id = {$author_id} And verified = 1" ]
]);

查看:

$this->widget( 'zii.widgets.grid.CGridView', [
    'dataProvider' => $dataProvider,
    'enableSorting' => true,
    'columns' => [ 'subscriber.name', 'subscriber.email' ]
]);

【问题讨论】:

    标签: yii cgridview


    【解决方案1】:

    确保在列名中您使用的是表名而不是关系或模型名

            'attributes' => [
            'name'=> [
                'asc'=>'subscriber_table.name Asc',
                'desc'=>'subscriber_table.name Desc',
            ],
            'email'=> [
                'asc'=>'subscriber_table.email Asc',
                'desc'=>'subscriber_table.email Desc'
            ]
    

    【讨论】:

    • 是的,既是表又是关系名,subscriber,模型名是Subscriber
    • 哦,但你实际上激励我尝试一些最终成为解决方案的东西。谢谢!
    • @Petruza 好吧,如果我的回答有用,请给它评分
    【解决方案2】:

    当然,问题是我没有使用列的完全限定名:

    'sort' => [
        'attributes' => [
            'subscriber.name'=> [
                'asc'=>'subscriber.name Asc',
                'desc'=>'subscriber.name Desc',
            ],
            'subscriber.email'=> [
                'asc'=>'subscriber.email Asc',
                'desc'=>'subscriber.email Desc'
            ]
        ]
    ]
    

    【讨论】:

      猜你喜欢
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-23
      • 1970-01-01
      • 2013-02-08
      相关资源
      最近更新 更多