Результат от родителя soql до дочернего запроса soql - PullRequest
0 голосов
/ 07 ноября 2018

Я хотел бы знать, как я могу отобразить результат от дочернего запроса soql до родительского запроса.

$query = "SELECT FirstName, LastName, (select Retreat_Booking__c.Retreat__c from Retreat_Bookings__r)FROM Contact" 

$response = $mySforceConnection->query($query);   
$queryResult = new QueryResult($response);  
while($queryResult->current()->FirstName!='' || $queryResult->current()->LastName!='')
{
    echo $queryResult->current()->FirstName." ".$queryResult->current()->LastName." ".$queryResult->current()->Retreat__c." <BR/>";
    $queryResult->next();
}

Запрос работает и отображает «FirstName» и «LastName», но не «Retreat__c». Я знаю, что результат во втором выборе - это json, и я пробовал много вещей, но ничего не работает.

1 Ответ

0 голосов
/ 09 ноября 2018

Запрос должен быть как ниже

$query = "SELECT FirstName, LastName, (select Retreat_Booking__r.Retreat__c from Retreat_Bookings__c)FROM Contact";

То есть

Retreat_Booking__r.Retreat__c вместо Retreat_Booking__c.Retreat__c

и

from Retreat_Bookings__c вместо Retreat_Bookings__r

После FROM должно быть пользовательское имя объекта (расширение __c) Retreat_Bookings__c и извлечение данных из поля опорных объектов, вы должны использовать расширение __r и, таким образом, Retreat_Booking__r.Retreat__c

Update

По второму вопросу вы можете попробовать

$query = "SELECT FirstName, LastName, (select Retreat_Booking__r.Retreat__c from Retreat_Bookings__c) AS rb FROM Contact"

, а затем

while($queryResult->current()->FirstName!='' || `$queryResult->current()->LastName!='')
{
echo $queryResult->current()->FirstName." ".$queryResult->current()->LastName." ".$queryResult->current()->rb.Retreat__c" <BR/>";
$queryResult->next();
}`
...