无法通过Salesforce API更新帐户

时间:2015-05-29 17:45:47

标签: php api salesforce

我试图通过SalesForce API(企业WSDL)更新记录。 代码无异常地运行,Salesforce的结果总是说成功。当我转到Salesforce时,Last Modified By表示我的脚本确实更新了记录。

但是,我想要更新的字段没有得到更新。我确信这是一件愚蠢的事。有人可以帮我指出来吗?

$client = $builder->build();
    $results = $client->query("select Id, Issuer__c, Expiry_Date__c, Bond_Premium__c from Account where New_Group_Reference__c = '$groupRef' limit 1");
    $array = array();
    foreach ($results as $account) {
        //$account->Issuer__c = $info['issuer'];
        $account->Expiry_Date__c = $info['expiryDate'];
        //$account->Bond_Premium__c = $info['bondPremium'];
        $array[] = $account;
        var_dump($array);
        echo 'Account: '.$account->Id."\n";
    }
    $result = $client->update($array, 'Account');
    var_dump($result);

结果:

array(1) {
  [0]=>
  object(Phpforce\SoapClient\Result\SObject)#1969 (3) {
    ["Id"]=>
    string(18) "0013000000NzSlxxxx"
    ["Expiry_Date__c"]=>
    string(10) "04/17/2016"
    ["Expiry_Date__cSpecified"]=>
    bool(true)
  }
}
Account: 0013000000NzSlxxxx
array(1) {
  [0]=>
  object(Phpforce\SoapClient\Result\SaveResult)#1973 (4) {
    ["id":protected]=>
    string(18) "0013000000NzSlxxxx"
    ["success":protected]=>
    bool(true)
    ["errors":protected]=>
    NULL
    ["param":protected]=>
    NULL
  }
}

1 个答案:

答案 0 :(得分:1)

哈!我明白了为什么!这肯定是愚蠢的事。 在添加该字段后,我忘记重新生成WSDL字段。