Реляционный SOQL в Salesforce PatronManager - PullRequest
1 голос
/ 07 ноября 2011

Я пытаюсь создать приложение, используя Salesforce API (с пользовательскими объектами PatronManager), и когда я запускаю следующий запрос «родитель-ребенок», я получаю сообщение об ошибке, в котором говорится, что связь не понята:

SELECT Name, (SELECT PatronTicket__InstanceDate__c FROM PatronTicket__EventInstance__r) FROM PatronTicket__TicketableEvent__c

Однако, когда я переворачиваю это и запускаю запрос «потомок к родителю», он отлично работает:

SELECT PatronTicket__InstanceDate__c, PatronTicket__TicketableEvent__r.Name FROM PatronTicket__EventInstance__c

Может кто-нибудь пролить свет на то, почему родитель кдочерний запрос выдаёт мне сообщение об ошибке?

Спасибо!

Скотт

Дополнительная информация

Я использую PHPИнструментарий с Enterprise WSDL, и я получаю следующее сообщение об ошибке:

Fatal error: Uncaught SoapFault exception: [sf:INVALID_TYPE] INVALID_TYPE: PatronTicket__InstanceDate__c FROM PatronTicket__EventInstance__r) ^ ERROR at Row:1:Column:57 Didn't understand relationship 'PatronTicket__EventInstance__r' in FROM part of query call. If you are attempting to use a custom relationship, be sure to append the '__r' after the custom relationship name. Please reference your WSDL or the describe call for the appropriate names. in /home/scott/public_html/salesforce-test/salesforce/soapclient/SforceBaseClient.php:782 Stack trace: #0 [internal function]: SoapClient->__call('query', Array) #1 /home/scott/public_html/salesforce-test/salesforce/soapclient/SforceBaseClient.php(782): SoapClient->query(Array) #2 /home/scott/public_html/salesforce-test/aupac-enterprise.php(16): SforceBaseClient->query('SELECT Name, (S...') #3 {main} thrown in /home/scott/public_html/salesforce-test/salesforce/soapclient/SforceBaseClient.php on line 782

1 Ответ

1 голос
/ 08 ноября 2011

Это Мишель из Patron Technology. Можете ли вы связаться напрямую с нашим отделом обслуживания клиентов? Используйте ссылку «Поддержка» на вкладке Справка PatronManager CRM. Замечательно, что вы пытаетесь это сделать, и я бы хотел обсудить это дальше.

У меня есть простой ответ "пока" (вам нужно использовать множественное число PatronTicket_ EventInstances _r вместо Instance), но я также хочу поговорить об этом более подробно, поскольку технически Salesforce API не полностью поддерживает доступ к пользовательским объектам (и поэтому наши пользовательские объекты не обязательно полностью работают с API) ...

...