$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这些条件加进去呢?
qiang
(Qiang Xue)
5
即便加上group,count语句出来的结果也不是你想要的,因为其结果是按name分组的,有多个值。
我刚刚添加了实现,让totalItemCount可写。这样你可以自己写SQL语句获得正确的count值并赋值给totalItemCount。我想你需要的是select count(distinct name)
qq71151461
(Qq71151461)
6
可能是我的问题,我想实现的是,查找库中有重名的记录,不知道我那样的语句对不对
qq71151461
(Qq71151461)
7
为什么我
$dataProvider->setTotalItemCount(0);
一点用处也没有,总数并不是0?
刚更新的
qq71151461
(Qq71151461)
8
CActiveDataProvider.php第97行处
已经有
$pagination->setItemCount($this->getTotalItemCount(true));
这里强制去自动计算总数了。
我如果setTotalItemCount,请问在什么时候加呢?