2014-10-09 105 views
0

看着这篇文章 http://www.yiiframework.com/doc/api/1.1/CSort排序的GridView Yii2

它表明您可以排序是一个 'virtial'

在我的GridView的列我有

'columns' => [ 
       [ 
        'label' => 'Name', 
        'attribute' => 'displaynamehtml', 
        'format' => 'raw' 
       ], 

'displaynameashtml' 是属性组合first_name和last_name并创建可点击的网址。

要按这个我有:

$dataProvider->setSort([ 
      'attributes' => [ 
       'displaynamehtml' => [ 
        'asc' => 'first_name, last_name', 
        'desc' => 'first_name DESC, last_name DESC', 
        'label' => 'Name' 
       ], 

然而,这并不工作,给我的错误 “的foreach为无效的论点提供()”

任何想法有什么不好?

回答

0

尝试像

$dataProvider->setSort([ 
      'attributes' => [ 
       'displaynamehtml' => [ 
        'asc' => [ 
         'first_name' => SORT_ASC, 
         'last_name' => SORT_ASC, 

        ], 
        'desc' => [ 
         'first_name' => SORT_DESC, 
         'last_name' => SORT_DESC, 

        ], 
        'label' => 'Name' 
       ], 
0

我建议有一点不同:

$dataProvider->sort->attributes['displaynamehtml'] = [   
     'asc' => [ 
        'first_name' => SORT_ASC, 
        'last_name' => SORT_ASC, 
       ], 
     'desc' => [ 
        'first_name' => SORT_DESC, 
        'last_name' => SORT_DESC, 
        ], 
    ]; 

模型搜索将这个