如何将包含多个group by列的查询转换为Yii 1.1.14中的CActiveDataProvider?

如何将包含多个group by列的查询转换为Yii 1.1.14中的CActiveDataProvider?,yii,Yii,我需要将这个包含多列GROUPBY子句的sql语句转换为Yii版本1.1.4中的CActiveDataProvider select * from my_table_name group by bookname,categorytitle,bookkey order by bookname,categorytitle,bookkey asc; 我需要一个CActiveDataProvider来提供CGridView搜索功能。显然,我在运行CGridView的搜索函数模型中只有一个简单的返回

我需要将这个包含多列GROUPBY子句的sql语句转换为Yii版本1.1.4中的CActiveDataProvider

select * from my_table_name  group by  bookname,categorytitle,bookkey order by bookname,categorytitle,bookkey asc;
我需要一个CActiveDataProvider来提供CGridView搜索功能。显然,我在运行CGridView的搜索函数模型中只有一个简单的返回

    return new CActiveDataProvider(get_class($this),
        array(
            'criteria' => $criteria,
            'sort' => array(
                'defaultOrder' => 'id ASC'
            ),
            'pagination' => array('pageSize' => ActiveRecord::PAGE_SIZE),
        ));

那么,如何将我给出的sql语句转换为CActiveDataProvider格式呢?

您可以使用以下两种方法:

  • 创建sql视图,然后创建yii模型,并在 控制器或页面视图

  • 在现有模型中创建自定义搜索功能,并使用分组方式

e、 g-

<?php
public function new_search(){
  $criteria = new CDbCriteria();

  ...
  ..

  $criteria->group = "bookname, categorytitle, bookkey"; 
  $criteria->order = "bookname, categorytitle, bookkey";

  return new CActiveDataProvider($this, array(
    'criteria'=>$criteria,
    'pagination'=>array('pageSize'=>100)
  ));
}
?>


创建sql视图,然后创建yii模型,并在控制器或页面视图中使用它。另一个解决方案是在现有模型中创建自定义搜索功能,并使用group by,例如-
$criteria->group=“bookname,categorytile,bookkey”$条件->订单=“书名、分类、图书编号”你应该把答案放在底部的框中,这样我就可以选择它作为答案。谢谢..请转帐..哈哈