SugarCRM get_entry_list只返回20个条目

时间:2013-08-29 12:25:49

标签: php soap sugarcrm

我正在使用SugarCRM 6.5.14 SOAP API从模块中检索条目以填充表单。我的问题是这个模块中有209个条目,但SOAP只返回20个条目。

我正在使用PHP和JS进行AJAX查询。

搜索后,我找到this answer,即使get_entries_count返回正确的条目数,get_entry_list仍然只返回20个条目。

这是我的PHP代码:

$soapClient = new SoapClient("http://localhost/sugar/service/v3_1/soap.php?wsdl");

try{
    $info = $soapClient->login(
    array(
        'user_name' => "webservice",
        'password' => md5("MYPASSWORD"),
        )
    );

}catch(SoapFault $fault){
    die("E_CONNECT");
}

$sessid = $info->id;

$max_count = $soapClient->get_entries_count($sessid, "comp_module", "", false);
$soapResponse = $soapClient->get_entry_list($sessid, "comp_module", "", "comp_module.name", array(), $max_count->result_count, false);

$response = Array();
$resellersArray = $soapResponse->entry_list;

foreach($resellersArray as $reseller){

    array_push($response, array("id" => $module->id, "name" => $module->name_value_list[4]->value));
}

echo json_encode($response);

1 个答案:

答案 0 :(得分:1)

看起来您可能在签名中有一些缺少的参数。

应该是:

$soapResponse = $soapClient->get_entry_list($session,$module_name,$query,$order_by,$offset,$select_fields,$link_name_to_fields_array,$link_name,$max_results,$deleted);

因此,如果您将get_entry_list调用更改为以下内容,则应该尊重最大结果参数:

$soapResponse = $soapClient->get_entry_list($sessid, "comp_module", "", "comp_module.name", 0, array(), array(), $max_count->result_count, false);

此外,如果您使用的是6.5.14,则应继续使用v4_1 api。

$soapClient = new SoapClient("http://localhost/sugar/service/v4_1/soap.php?wsdl");