2012-06-04 54 views
0

我有以下talbs,但是當我將firstname定義爲可排序時,它不起作用(不顯示firstname作爲鏈接,我可以單擊並對列表視圖進行排序)。儘管如果我用戶的用戶名工作得很好。Yii Sortable Attributes

| User 
| - userid 
| - username 

| Profile 
| - userid 
| - firstname 
| - lastname 

我在控制器:

$criteria->with=array(
     'profile', 
    ); 
    $criteria->addCondition('status = 1 or status = 2 or status = 3'); 

    if($search) 
     $criteria->addCondition("firstname = '{$search}'"); 

    $dataProvider=new CActiveDataProvider('YumUser', array(
       'criteria' => $criteria, 
       'pagination'=>array(
        'pageSize'=>50, 
        ))); 

鑑於:

$this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$dataProvider, 
    'itemView'=>'_view', 
     'template' => '{summary} {sorter} {items} <div style="clear:both;"></div> {pager}', 
    'sortableAttributes'=>array(
     'firstname', 
    ), 
)); 

回答

4

這隻能如果dataProvider的sort屬性設置明確的(在這些情況下,如果你」通過屬於另一個模型的屬性重新排序)

試試這個

$dataProvider = new CActiveDataProvider('YumUser', array(
       'criteria' => $criteria, 
       'sort'=>array(
        'attributes'=>array(
         'firstname'=>array(
           'asc'=>'firstname', 
           'desc'=>'firstname DESC', 
         ), 
        ), 
       ), 
       'pagination'=>array(
        'pageSize'=>50, 
        ))); 
+0

但是這不會顯示排序方向指示器。 –