Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii2 GridView按计数(*)从另一个表排序_Php_Yii2_Yii2 Advanced App - Fatal编程技术网

Php Yii2 GridView按计数(*)从另一个表排序

Php Yii2 GridView按计数(*)从另一个表排序,php,yii2,yii2-advanced-app,Php,Yii2,Yii2 Advanced App,我的应用程序包含以下表格: 文章(包括category\u id列对category(id)的引用) 类别 它输出gridview: <?= GridView::widget([ ... 'columns' => [ ... [ 'label' => 'Article count', 'attribute' => 'articles', 'valu

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

  • 文章(包括
    category\u id
    列对
    category(id)
    的引用)
  • 类别
它输出gridview:

<?=
  GridView::widget([
    ...
    'columns' => [
       ...
        [
            'label' => 'Article count',
            'attribute' => 'articles',
            'value' => function ($model, $key, $index, $column) {
                return count($model->articles);

            },
        ],
        ...
    ],
  ])
?>


我想按物品分类计数。我该怎么做呢?

首先,不要直接在视图中获取计数值,而是从负责管理排序的模型中获取

为此,请使用criteria=>$criteria=new-CdbCriteria()

向csort()提供模型中的count变量 像

然后将$sort变量提供给ActiveDataProvider

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

    ));

很难准确地说出你的要求,因为它是目前写的。请澄清您的具体问题或提供其他详细信息,以突出您所需的内容。问题是关于Yii2,而不是1
return new CActiveDataProvider($this, array(
        'criteria'=>$criteria,
        'sort' => $sort,

    ));