分页的问题




$dataProvider=new CActiveDataProvider('Modle');

$dataProvider->getCriteria()->group="name";

$dataProvider->getCriteria()->having="COUNT(*)>1";



执行的SQL记录为

SELECT COUNT(*) FROM Modle

SELECT * FROM Modle GROUP BY name HAVING COUNT(*)>1 LIMIT 10


为什么获取总数的时候,没有把group by这些条件加进去呢?

顶起,让强哥看见

用头顶。

实际数据的结果跟分页的结果不一样

???

即便加上group,count语句出来的结果也不是你想要的,因为其结果是按name分组的,有多个值。

我刚刚添加了实现,让totalItemCount可写。这样你可以自己写SQL语句获得正确的count值并赋值给totalItemCount。我想你需要的是select count(distinct name)

可能是我的问题,我想实现的是,查找库中有重名的记录,不知道我那样的语句对不对^_^

为什么我

$dataProvider->setTotalItemCount(0);

一点用处也没有,总数并不是0?

刚更新的^_^

CActiveDataProvider.php第97行处

已经有




$pagination->setItemCount($this->getTotalItemCount(true));



这里强制去自动计算总数了。

我如果setTotalItemCount,请问在什么时候加呢?

我把这个true去掉了。现在应该可以了。

谢谢