[英]Trouble with SalesForce Query Results - PHP Toolkit
我試圖使用PHP API查詢我的SalesForce數據庫。 我成功地檢索了結果,但它們基本上沒用。 在結果上執行print_r時,我從以下查詢中收到以下結果:
查詢:
$query = "SELECT C.Id, C.FirstName, C.LastName, C.Email FROM Contact C WHERE C.Email = '*******@gmail.com'";
$response = $client->query($query);
$ response-> records的print_r輸出示例:
stdClass Object ( [type] => Contact [Id] => Array ( [0] => ###### [1] => ###### ) [any] => NameTest*********@gmail.com )
我希望在輸出對象中看到[fields]元素,但是我只將字段視為字符串,在此[any]元素中沒有分隔符。 我正在使用partner.wsdl.xml並且沒有問題將數據推送到SF,只檢索。 有關如何在[any]元素中獲取[fields]元素或至少是分隔符的任何想法?
我與同樣的問題作斗爭。 我最終使用以下代碼:
$query = "SELECT C.Id, C.FirstName, C.LastName, C.Email FROM Contact C WHERE C.Email = '*******@gmail.com'";
$response = $mySforceConnection->query($query);
foreach ($response as $record) {
$sObject = new SObject($record);
print_r($sObject);
}
$query = "SELECT C.Id, C.FirstName, C.LastName, C.Email FROM Contact C WHERE C.Email = '*******@gmail.com'";
$response = $mySforceConnection->query($query);
foreach ($response as $record) {
$sObject = new SObject($record);
echo $sObject->fields->FirstName;
echo $sObject->fields->LastName;
echo $sObject->fields->Email;
echo $sObject->Id; //(Id will show like this)
}
為了它的價值,我能夠通過使用API的“檢索”方法和“查詢”方法來檢索字段。 我使用查詢方法來獲取SalesForce ID,因為您可以在查詢中指定搜索條件,然后使用具有查詢方法中特定ID的retrieve函數。 似乎不是最有效的,但它完成了工作。
請參閱“檢索記錄”部分。
http://wiki.developerforce.com/page/Getting_Started_with_the_Force.com_Toolkit_for_PHP
看來你正在取回一個stdClass
而不是一個SObject
。 這應該會自動發生,但嘗試顯式傳遞記錄new SObject()
構造函數。 像這樣的東西(如果records
實際上是一個數組,你需要將它改為循環):
new SObject($response->records);
現在,您應該能夠在結果上調用->fields
。
至於[any]
沒有顯示分隔符,這是因為它們是XML標記,並且您正在瀏覽器中查看它,因此標記將呈現為HTML並消失。 嘗試查看頁面的HTML源代碼,您應該看到它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.