2014-10-02 63 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])