#php #database #arrays #salesforce #soql
#php #База данных #массивы #salesforce #soql
Вопрос:
Я использую Salesforce.com Инструментарий для PHP, и я пытаюсь вывести то, что, на мой взгляд, очень просто.
ЭТО РАБОЧИЙ ПРИМЕР КОДА
$query = "SELECT ID, Phone FROM Contact LIMIT 5";
$response = $mySforceConnection->query($query);
foreach ($response->records as $record) {
echo $record->ID." - ".$record->Phone;
}
Я ИЗМЕНИЛ ЗАПРОС И ТЕПЕРЬ ХОЧУ ПРОСТО ВЫВЕСТИ ИМЯ И КОЛИЧЕСТВО. ОДНАКО ПРИВЕДЕННЫЙ НИЖЕ КОД НЕ РАБОТАЕТ
$query = "SELECT owner.name, count(type) FROM Task LIMIT 5";
$response = $mySforceConnection->query($query);
foreach ($response->records as $record) {
echo $record->owner.name; //DOES NOT WORK
}
ЭТО ТО, ЧТО я ПОЛУЧАЮ, КОГДА я печатаю_r ($record);
stdClass Object ( [Id] => [any] => Array ( [0] => First Last [1] => 2177 ) )
Я просто хочу иметь возможность выводить «First Last — 2177»
Комментарии:
1. ПОЧЕМУ ТЫ КРИЧИШЬ НА МЕНЯ?!?!?!?! :@
2. Хаха, извините за неправильное использование заглавных букв!
Ответ №1:
foreach ($response->records as $record)
{
echo implode(' - ', $record->any);
}
Комментарии:
1. Аликс, если бы я хотел получить только первое имя или только количество. Как бы я это сделал без implode?
2. @st4ck0v3rfl0w: Я знал , что ты об этом спросишь! 😛 Попробуйте
echo $record->any[0]
иecho $record->any[1]
.3. Вы спасли мой день! Я обещаю в следующий раз лучше использовать caps 🙂
4. @st4ck0v3rfl0w: На самом деле с первым именем немного сложнее.
$name = array_filter(explode(' ', $record->any[0]), 'strlen'); $name_first = $name[0]; $name_last = $name[count($name) - 1];
.