【问题标题】:PHP API Client, PodioItem::filter() does not return all resultsPHP API 客户端,PodioItem::filter() 不返回所有结果
【发布时间】:2014-10-02 13:00:19
【问题描述】:

我开始学习 PHP 客户端库,并从 http://podio.github.io/podio-php/ 上的“Hello World”示例开始。我的基本脚本正在运行并且确实返回了一个结果(我设置了客户端 ID/秘密和应用 ID/令牌)。 当我回显count(PodioItem::filter($app_id)); 的结果时,只返回了 20 个项目,但实际上应用中有 110 个项目。

我的问题是我做错了什么?我遗漏了什么?

这似乎是一个非常基本的例子。我在 Google 和 StackOverflow 上进行了一些搜索,但没有发现有人遇到此问题。

我的脚本已通过身份验证并返回结果,但不是所有结果。我可以使用 array('limit'=>xx) 选项获得多达 50 个。我的应用有 110 项。

另外,如果我这样做:print_r(PodioItem::filter($appid)); 输出 DOES 报告 '[total] => 110' 但数组转储只有 20 项。

我的 php 内存限制设置为 512MB。而print_r(error_get_last()); 为空(开启报错)。

【问题讨论】:

  • 谢谢安德里亚。我没有在我的帖子中包含此内容,但我尝试了 array('limit' => 110)); 选项,但只返回了 50 个项目。我一定是做错了什么,因为我根据您的帖子再次尝试并且得到了完整的结果集。再次感谢您。

标签: php podio


【解决方案1】:

PodioItem::filter() 默认只返回 20 个项目。您可以在https://developers.podio.com/doc/items/filter-items-4496747查看全部选项

如您所见,您需要传递一个limit 参数来获取更多项目。要获得 100 个项目:

$items = PodioItem::filter($app_id, array('limit' => 100));

通过这种方式,您最多可以获得 500 件商品。如果您需要更多项目,则必须使用多个请求和 offset 参数来跳过您已有的项目。

total 属性将始终为您提供应用程序中的项目总数,无论您当前在本地收藏中拥有多少项目。以类似的方式filtered 将始终为您提供当前过滤视图中的总项目,无论您在本地集合中有多少项目。如果您正在构建例如,此信息很重要。分页。

(代码行缺少右括号。[已修复])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-31
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    • 1970-01-01
    相关资源
    最近更新 更多