SalesForce查询结果的问题-PHP工具包
我正在尝试使用PHPAPI查询我的SalesForce数据库。我正在成功地检索结果,但是它们基本上是无用的。在打印结果时,我从以下查询中收到这些结果: 查询:SalesForce查询结果的问题-PHP工具包,php,salesforce,soql,Php,Salesforce,Soql,我正在尝试使用PHPAPI查询我的SalesForce数据库。我正在成功地检索结果,但是它们基本上是无用的。在打印结果时,我从以下查询中收到这些结果: 查询: $query = "SELECT C.Id, C.FirstName, C.LastName, C.Email FROM Contact C WHERE C.Email = '*******@gmail.com'"; $response = $client->query($query); 示例打印\r输出$response->记
$query = "SELECT C.Id, C.FirstName, C.LastName, C.Email FROM Contact C WHERE C.Email = '*******@gmail.com'";
$response = $client->query($query);
示例打印\r输出$response->记录:
stdClass Object (
[type] => Contact
[Id] => Array
(
[0] => ######
[1] => ######
)
[any] => NameTest*********@gmail.com
)
stdClass对象(
[类型]=>联系人
[Id]=>阵列
(
[0] => ######
[1] => ######
)
[任何]=>NameTest************@gmail.com
)
我希望在输出对象中看到一个[fields]元素,但是我只看到我的字段是一个字符串,在这个[any]元素中没有分隔符。我使用的是partner.wsdl.xml,将数据推送到SF并没有问题,只是检索。有没有关于如何在[Any]元素中获取[fields]元素或至少是分隔符的想法?无论如何,我能够通过使用API的“retrieve”方法和“query”方法来检索字段。我使用query方法获取SalesForce ID,因为您可以在query中指定搜索条件,然后使用retrieve函数从query方法获取特定ID。这似乎不是最有效的,但它完成了任务 请参阅“检索记录”部分
看来您得到的是
stdClass
而不是SObject
。这应该会自动发生,但请尝试显式地将记录传递给new SObject()
构造函数。类似这样的内容(如果records
实际上是一个数组,则需要将其更改为循环):
现在,您应该能够对结果调用->fields
由于
[any]
没有显示分隔符,这是因为它们是XML标记,并且您正在浏览器中查看它,因此标记被呈现为HTML并消失。尝试查看页面的HTML源代码,您应该会看到它们。我也遇到了同样的问题。我最终用以下代码实现了它:
$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);
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)
}