0

これは、私の問題を表す一般的なクエリのサンプルです。

$query = "SELECT Account.Name, Name from Contract WHERE AccountId = '001U0000003q6scIAA'";
$response = $mySforceConnection->query($query);

foreach ($response->records as $record) {
$sObject = new SObject($response->records[0]);
var_dump($sObject);
echo $sObject->sobjects[0]->Name."<br/>\n";
echo $record->fields->Name."<br/>\n";
echo "*******************************<br/>\n";
echo "*******************************<br/>\n";
}

問題は、Account.Name フィールドが表示されないことです。私の方法全体が間違っている場合に備えて、アイデアは、特定のアカウントに割り当てられたすべての契約を取得し、契約からアカウント名と関連情報の両方を表示することです。(これまでのところ、すべての契約フィールドが完全に表示されます。アカウント名を表示できないだけです)

事前にご協力いただきありがとうございます。

これが var_export().. です (すべてのカスタム フィールドを削除しました)。

SObject::__set_state(array( 'type' => 'Contract', 'fields' => stdClass::__set_state(array(
'AccountId' => '001U0000003q6scIAA', 'Name' => 'test contract', '1' =>
SObject::__set_state(array( 'type' => 'Account', 'fields' => stdClass::__set_state(array( 
'Name' => 'test Account name', )), )), )), ))

これが var_dump() です ...

object(SObject)#5 (2) { ["type"]=> string(8) "Contract" ["fields"]=> object(stdClass)#1871 (14) {
["AccountId"]=> string(18) "001U0000003q6scIAA" ["Name"]=> string(18) "Test Contract Name"
["1"]=> object(SObject)#1869 (2) { ["type"]=> string(7) "Account" ["fields"]=> object(stdClass)#1870 (1) { ["Name"]=> string(15) "Account Name" } } } }
4

1 に答える 1

1

だから私は最終的に私を正しい道に導く何かを見つけました. これが私がそれを解決した方法です...

foreach ($response->records as $record) {
    echo $record->fields->{1}->fields->Name."<br/>\n";
    echo $record->fields->Name."<br/>\n";
    echo "*******************************<br/>\n";
    echo "*******************************<br/>\n";
}

私はもともとこのアプローチを試みましたが、{} なしでエラーが発生しました。したがって、print_r() の出力を見て、数値をここに表示される数値に変更するだけで["1"]=> object(SObject)#1869、このクエリが表示されます。

手伝ってくれてありがとう、ダーン!

于 2012-05-13T02:34:39.717 に答える