发表回复 
 
主题评价:
  • 1 次(票) - 平均星级: 4
  • 1
  • 2
  • 3
  • 4
  • 5
多个addRange后getLastCount有问题
2013年12月16日, 17:33 (这个帖子最后修改于: 2013年12月16日 19:23 by xilin.)
多个addRange后getLastCount有问题
例如:
$query = $xs->search->setQuery($keyword);
if ($c1)
{
$query->addRange('c1',$c1,$c2);
}
if ($d1)
{
$query->addRange('d1',$d1,$d2);
}
$query->setMultiSort($sorts);
$rs = $query->setLimit($perPage,$start)->search();
$count = $xs->search->getLastCount();
这时$count不准确,我看过论坛类似的问题,不过没有多的addRange,另外想再问下
$query->addRange('c1',$c1,$c2)->addRange('d1',$d1,$d2)这样写法会不会比上面的效率高?只是这种写法有时比较难写,因为有时要判断一些条件才能决定是否需要addRange
查找这个用户的全部帖子
引用并回复
2013年12月16日, 19:21
RE: 多个addRange后getLastCount有问题
我看了论坛上有单独取count(),我在$query->setMultiSort($sort)之前加入,$count = $query->count(),发现这个$count也不太准确,不知道是什么原因
查找这个用户的全部帖子
引用并回复
2013年12月19日, 17:05
RE: 多个addRange后getLastCount有问题
addRange 后会影响概率计算,count 会有问题
查找这个用户的全部帖子
引用并回复
2013年12月19日, 22:53
RE: 多个addRange后getLastCount有问题
[quote='hightman' pid='5447' dateline='1387443918']
addRange 后会影响概率计算,count 会有问题
[/quote]
有什么什么方法能得出相对准确的count呢,数据量小时count没有问题,大的时候差别非常大
查找这个用户的全部帖子
引用并回复
2013年12月20日, 09:37
RE: 多个addRange后getLastCount有问题
另外有时可能会确定筛选的值为某个固定值,比如说筛选价格为500的值,使用addRange('price',500,500)吗?有没更好的写法
查找这个用户的全部帖子
引用并回复
发表回复 


论坛跳转:


正在浏览该主题的用户: 1 个游客