2014-10-02 60 views
0

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

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

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

我的脚本经过身份验证并返回结果,但不是所有结果。使用阵列('limit'=> xx)选项可以得到多达50个。我的应用程序有110个项目。

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

我的php内存限制设置为512MB。并且print_r(error_get_last());为空(错误报告已打开)。

+0

谢谢安德烈。我没有在我的帖子中加入这个,但是我试过'array('limit'=> 110))''选项,但是只返回了50个项目。我一定犯了错误,因为我根据你的帖子再次尝试,并得到了完整的结果集。再次感谢你。 – Coreigh 2014-10-06 13:12:27

回答

2

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将始终为您提供当前过滤视图中的总项目,而不管您在本地集合中拥有多少项目。如果您正在建立例如分页。

(代码行缺少右括号。[fixed])

相关问题