Yii2 GridView按另一个表中的count(*)排序

时间:2015-06-04 12:37:07

标签: php yii2 yii2-advanced-app

我的应用程序包含以下表格:

  • 文章(包含category_id的{​​{1}}列引用)
  • 类别

输出gridview:

category(id)

我想按文章排序进行排序。我怎么能这样做?

1 个答案:

答案 0 :(得分:-1)

首先,不要直接在视图中获取计数值,从模型管理员那里获取它

用于该用途标准=> $ criteria = new CdbCriteria();

将模型中的计数变量提供给csort() 喜欢

$sort = new CSort();
$sort->defaultOrder = 'id DESC';
$sort->attributes = array(
                                'articles'=>array(
                                    'asc'=>'c.articles ASC',
                                    'desc'=>'c.articles DESC',
                                ),
                                '*',
    );

然后将$ sort变量提供给ActiveDataProvider

return new CActiveDataProvider($this, array(
        'criteria'=>$criteria,
        'sort' => $sort,

    ));