gpt4 book ai didi

phalcon querybuilder total_items 总是返回 1

转载 作者:行者123 更新时间:2023-12-01 06:28:30 24 4
gpt4 key购买 nike

我通过 createBuilder() 查询并在执行它时( getQuery()->execute()->toArray() )
我收到了 10946 元素。我想对它进行分页,所以我将它传递给:

$paginator = new \Phalcon\Paginator\Adapter\QueryBuilder(array(
"builder" => $builder,
"limit" => $limit,
"page" => $current_page
));
$limit 25 $current_page 1 ,但是在做的时候:
$paginator->getPaginate();

$page->total_items;

返回 1 .

这是一个错误还是我错过了什么?

UPD:似乎在计算项目时它使用了有限的创建的 sql。什么是限制没有区别,限制除以每页的项目数总是等于 1。我可能会弄错。

UPD2:同事帮我解决了这个问题,错误出在 phalcon 生成的查询中: count()group by计算分组元素。所以一个解决方法看起来像:
$dataCount = $builder->getQuery()->execute()->count();
$page->next = $page->current + 1;
$page->before = $page->current - 1 > 0 ? $page->current - 1 : 1;
$page->total_items = $dataCount;
$page->total_pages = ceil($dataCount / 100);
$page->last = $page->total_pages;

最佳答案

我知道这不是一个很好的答案,但这很可能是一个错误。 Phalcon 的伟大人物承担了一项巨大的工作,他们在他们很少的空闲时间里无法正确完成这项工作,而诸如 PHQL、Volt 和其他大型但非核心组件之类的东西并没有像我们希望的那样受到足够的关注。考虑到过去 6 个月的大部分时间都花在 v2 上,有近 500 个关于此类内容的错误,而且还在增加。我在 ORM、Volt、Validation 和 Session 中遇到了相当多的问题,这最终让我坚持使用其他不太酷但更成熟的解决方案。当 v2 出来时,我相信所有的注意力都会放在错误列表和测试上,在那之前我们主要靠自己。鉴于现在全是 C,只有少数爱好者参与其中,v2 也将改变。

如果这是您遇到的唯一问题,最好的方法是更新您的查询以获取您自己需要的信息,而无需 getPaginate() .

关于phalcon querybuilder total_items 总是返回 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25502262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com