2015-06-04 33 views
-1

我的應用程序有這些表:Yii2 GridView控件從另一個表的排序由COUNT(*)

  • 文章(包括category_id列引用到category(id)
  • 類別

它輸出的GridView:

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

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

我想要通過文章分類計數。我怎樣才能做到這一點?

+0

很難告訴你要問什麼,因爲它是目前書面。請澄清您的具體問題或提供更多詳細信息,以確切地說明您需要的內容。 – Kmeixner

回答

-1

首先,不考慮直接獲得的計數值,從模型得到它誰的管理ü[R排序

對於使用標準=> $ =標準新CdbCriteria();

在型號提供您的計數VAR到csort() 像

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

然後提供$排序變量ActiveDataProvider

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

    )); 
+0

的問題是關於Yii2,而不是1 – Blizz