CSqlDataProvider yii操作数据后的排序

时间:2014-03-10 12:59:43

标签: php sorting yii

我正在使用分页显示来自CSqlDataProvider的数据,我想为我的结果添加排序。我的情况是 - 我获取数据     

    $dataProvider=new CSqlDataProvider($sqlAll, array(
                'totalItemCount'=>$count,
                'pagination'=>array('pageSize'=>$pageSize,),
                'params' => $params
            ));
    
在我得到结果后,我计算了另外两个要显示的字段(这些字段不是用$ sqlAll查询提取的)并根据它们排序 我的问题是:我只得到$ pagesize数量的结果,结果是排序是每$ pagesize结果而不是所有结果。
我可以将计算字段添加到CSqlDataProvider或分页吗? p>

1 个答案:

答案 0 :(得分:1)

您可以通过以下两种方式之一添加计算字段:

  1. 直接在查询和sort on that中计算两个字段的结果。
  2. 使用CArrayDataProvider并使用查询结果的关联数组中的数据填充它(使用DAO获取此结果),并将“手动”添加到两个字段中。