我使用Soapclient從php中將一些數據插入到名爲Application__c的salesforce對象中。連接全成之後,我寫了下面的代碼試圖獲取非對象的屬性
$applications = array();
$updateFields = array();
if($_POST['savingsAccountBankName'] != ''){
$updateFields['savings_account_bank_name__c']= $_POST['savingsAccountBankName'];
}
if($_POST['AutoMake'] != ''){
$updateFields['Auto_make__c']= $_POST['AutoMake'];
}
if($_POST['AutoLicense'] != ''){
$updateFields['Auto_license__c']= $_POST['AutoLicense'];
}
$sObject = new sObject();
$sObject->type = 'Application__c';
$sObject->fields = $updateFields;
array_push($applications, $sObject);
try {
$results = $sforceClient->create($applications,'Application__c');
foreach ($results as $result)
{
$errMessage = $result->errors->message;
echo $errMessage;
}
} catch (Exception $e) {
echo 'Salesforce Upsert Error. Please try again later.';
echo '<pre>';
print_r($e);
echo '</pre>';
}
我得到錯誤「試圖獲得非對象的財產」在行「$ errMessage = $ result->錯誤 - >消息;」。問題是什麼?
謝謝
是'result'或'errors'是不是一個對象。 'sforceClient-> create()'返回什麼?基本上,'$ results'應該是一個具有'errors'屬性的對象數組,它又是一個具有'message'屬性的對象。 – abhinav
php告訴你的是'$ result'不是一個對象,或者'$ result-> errors'不是一個對象。由於這是一個SOAP方法,所以'$ result-> errors'實際上可能是一個包含消息對象的數組。嘗試'var_dump($ result); var_dump($ result-> errors);'看看你正在處理什麼; – yannis