更新: 正しい ID を渡すだけで、期待どおりに機能しています。DUH!~
たとえば、ケースのコメント セクションのようなカスタム オブジェクトが Salesforce にあります。新しいコメントを追加すると、そのエントリの日付/タイム スタンプが表示されます。新しいケース コメントが作成されたときに、以前のケース コメントの日付/タイム スタンプを更新したかったのです。
私はこのようなUPDATEをしたかった:
$updateFields = array(
'Id'=>$comment_id, // This is the Id for each comment
'End_Date__c'=>$record_last_modified_date
);
function sfUpdateLastCommentDate($sfConnection, $updateFields) {
try {
$sObjectCustom = new SObject();
$sObjectCustom->type = 'Case_Custom__c';
$sObjectCustom->fields = $updateFields;
$createResponse = $sfConnection->update(array($sObjectCustom));
} catch(Exception $e) {
$error_msg = SALESFORCE_ERROR." \n";
$error_msg .= $e->faultstring;
$error_msg .= $sfConnection->getLastRequest();
$error_msg .= SALESFORCE_MESSAGE_BUFFER_NEWLINE;
// Send error message
mail(ERROR_TO_EMAIL, ERROR_EMAIL_SUBJECT, $error_msg, ERROR_EMAIL_HEADER_WITH_CC);
exit;
}
}
UPSERT も試しましたが、次のエラーが表示されます。
Missing argument 2 for SforcePartnerClient::upsert()
どんな助けでも素晴らしいでしょう