使用基于ID的PHP SDK在ZohoCRM中更新记录

时间:2018-09-12 11:40:00

标签: php laravel api zoho

我正在将ZohoCRM PHP SDK与我们的Laravel 5应用程序(https://github.com/zoho/zcrm-php-sdk)集成在一起,但是我无法对记录执行简单的更新。

我正在使用此代码来检索记录并更新它-

$record = \ZCRMRecord::getInstance('Products', $entityId);
$data = $record->getData();
if (count($data) > 0) {
       $record->setFieldValue('Product_Name', 'Test Update');
       $response = $record->update();
}

但是,$data始终是一个空数组。

我已经通过从“产品”模块中获取记录并通过$entityId方法存储值来获取了$record->getEntityId()变量,例如

$records = \ZCRMModule::getInstance('Products')->getRecords()->getData();
if (count($records) > 0) {
       foreach ($records as $record) {
           $id = $record->getEntityId();
           // store id in RDS...
       }
}

我不确定获取记录以进行更新的方法是否不正确或获取记录ID的方法是否不正确。

亲切的问候,

菲尔

2 个答案:

答案 0 :(得分:0)

结果证明代码是正确的-不需要检查$record->getData()是否包含任何项目(它将始终为空)。

此外,尽管在将SDK与PHP 7.2结合使用时由于此问题遇到了错误-https://github.com/zoho/zcrm-php-sdk/pull/14

在合并此拉取请求之前,需要手动更改ZohoHTTPConnector类。

答案 1 :(得分:0)

使用以下代码更新记录

$apiResponse=ZCRMModule::getInstance('Products')->getRecord($entityId);
$record = $apiResponse->getData(); 
$record->setFieldValue('Product_Name', 'Test Update');
$response = $record->update();