ZohoCRM 模块 getRecords PHP
ZohoCRM Module getRecords PHP
我正在使用 ZohoCRM PHP SDK 尝试从 CRM 中提取所有 Account
记录并在本地操作它们(做一些报告)。基本代码如下所示,效果很好:
$account_module = ZCRMModule::getInstance('Accounts');
$response = $account_module->getRecords();
$records = $response->getData();
foreach ($records as $record) {
// do stuff
}
问题是 $records
对象只有 200 条记录(总数约为 3000 条)。我在(最少/很少记录的)SDK 文档中找不到任何文档显示如何分页或获得更大的结果集,并且由于某种原因,开发站点中的 Zoho 代码示例似乎没有使用相同的 SDK。
有谁知道如何对这些记录进行分页?
getRecords()
method seems to accept 2 parameters. This is used within some of their examples。您应该能够将这些参数用于 set/control 分页。
$param_map = ["page" => "20", "per_page" => "200"];
$response = $account_module->getRecords($param_map);
@dakdad 是正确的,您可以将页面和每页值传递到 param_map
。您还应该使用 $response->getInfo()->getMoreRecords()
来确定是否需要分页。这样的事情似乎有效:
$account_module = ZCRMModule::getInstance('Accounts');
$page = 1;
$has_more = true;
while ($has_more) {
$param_map = ["page" => $page, "per_page" => "200"];
$response = $account_module->getRecords($param_map);
$has_more = $response->getInfo()->getMoreRecords();
$records = $response->getData();
foreach ($records as $record) {
// do stuff
}
$page++;
}
我正在使用 ZohoCRM PHP SDK 尝试从 CRM 中提取所有 Account
记录并在本地操作它们(做一些报告)。基本代码如下所示,效果很好:
$account_module = ZCRMModule::getInstance('Accounts');
$response = $account_module->getRecords();
$records = $response->getData();
foreach ($records as $record) {
// do stuff
}
问题是 $records
对象只有 200 条记录(总数约为 3000 条)。我在(最少/很少记录的)SDK 文档中找不到任何文档显示如何分页或获得更大的结果集,并且由于某种原因,开发站点中的 Zoho 代码示例似乎没有使用相同的 SDK。
有谁知道如何对这些记录进行分页?
getRecords()
method seems to accept 2 parameters. This is used within some of their examples。您应该能够将这些参数用于 set/control 分页。
$param_map = ["page" => "20", "per_page" => "200"];
$response = $account_module->getRecords($param_map);
@dakdad 是正确的,您可以将页面和每页值传递到 param_map
。您还应该使用 $response->getInfo()->getMoreRecords()
来确定是否需要分页。这样的事情似乎有效:
$account_module = ZCRMModule::getInstance('Accounts');
$page = 1;
$has_more = true;
while ($has_more) {
$param_map = ["page" => $page, "per_page" => "200"];
$response = $account_module->getRecords($param_map);
$has_more = $response->getInfo()->getMoreRecords();
$records = $response->getData();
foreach ($records as $record) {
// do stuff
}
$page++;
}