Я, вероятно, упускаю что-то довольно простое, но я очень запутался (и разочарован) результатами, полученными от моих запросов SOQL к Salesforce API.
Мой запрос:
Select Id, FirstName, LastName FROM contact
Полученный объект (как показано print_r):
stdClass Object
(
[done] => 1
[queryLocator] =>
[records] => Array
(
[0] => stdClass Object
(
[type] => Contact
[Id] => Array
(
[0] => 0032000000cPd7uAAC
[1] => 0032000000cPd7uAAC
)
[any] => BuzzAldrin
)
[1] => stdClass Object
(
[type] => Contact
[Id] => Array
(
[0] => 0032000000cPt1zABC
[1] => 0032000000cPt1zABC
)
[any] => RonnieVanZant
)
[2] => stdClass Object
(
[type] => Contact
[Id] => Array
(
[0] => 0032000000cPb60AA
[1] => 0032000000cPb60AA
)
[any] => PollyJeanHarvey
)
)
[size] => 3
)
Первое, что я не понимаю, почему «Id» - это массив. Странная причуда, но обходной путь не слишком сложен.
Вторая вещь беспокоит меня бесконечно больше, хотя: я выбираю для FirstName и LastName, и что происходит, они объединяются и возвращаются как одно строковое значение для поля, называемого «any». Чтобы избежать совета «разбить его на заглавные буквы», который я уже получил от своих коллег, я привел пример с двумя прописными именами и двумя прописными фамилиями, и в любом случае, в действительности мне нужно гораздо больше (и больше формально непредсказуемые) поля, и все они добавляются к этому «любому» свойству.
Кто-нибудь видит, что я делаю не так? Если предположить, что это не такой плохо написанный API, то есть?
Edit:
Указанный разработчик теперь будет сидеть в углу несколько часов, раскаявшись в том, что не проверил более свежие версии PHP Toolkit. Кажется, я использовал 11.0, тогда как уже есть версия 20.0. Позор мне, позор мне действительно. Извините, что потратил ваше время.