2016-11-11 3 views
0

Я понимаю, что это глупый вопрос, но я не могу найти для этого ответа. Я пропускаю некоторое понимание вокруг, как коллекции работаютПолучение данных из коллекции Laravel

Я запрашивая API Google Адресов для получения информации о местоположении

$response = GooglePlaces::textSearch('10 Downing Street', $optionnalParameters); 

Это работает и дает мне ответ, который я могу var_export:

Illuminate\Support\Collection::__set_state(array(
    'items' => 
    array (
    'html_attributions' => 
    array (
    ), 
    'results' => 
    Illuminate\Support\Collection::__set_state(array(
     'items' => 
     array (
     0 => 
     array (
      'formatted_address' => '10 Downing St, London SW1A 2AA, United Kingdom', 
      'geometry' => 
      array (
      'location' => 
      array (
       'lat' => 51.503363499999999, 
       'lng' => -0.12762480000000001, 
      ), 
      'viewport' => 
      array (
       'northeast' => 
       array (
       'lat' => 51.503432400000001, 
       'lng' => -0.12551999999999999, 
      ), 
       'southwest' => 
       array (
       'lat' => 51.503156800000014, 
       'lng' => -0.12832640000000001, 
      ), 
      ), 
     ), 
      'icon' => 'https://maps.gstatic.com/mapfiles/place_api/icons/civic_building-71.png', 
      'id' => 'ffd85a3e543406e34703ee947c73ef54f5e167fe', 
      'name' => '10 Downing Street', 
      'photos' => 
      array (
      0 => 
      array (
       'height' => 2534, 
       'html_attributions' => 
       array (
       0 => '<a href="https://maps.google.com/maps/contrib/117230111047681784763/photos">Christopher Chan</a>', 
      ), 
       'photo_reference' => 'CoQBdwAAAHdqDNRUhalI7Ko_YXqckWM5M7I1IeD0xXOvjnxruS4BYCFnt99lCEy5xQJh7XtTvGTfZbKlnVhbxaJ_OloLxaPyoInqIpgRY-3LyB3Q70tDX3izeraFEM4Bw-ExmRzz6h18iMQlKb0DoDXnW26uO4RR-7YFjPNi6M0y5D7cmrl9EhAmI7GerM-TXpKD3BVVTtOWGhQZotS0ZNI2nK9G7jXxDEyvoQ5IxQ', 
       'width' => 3801, 
      ), 
     ), 
      'place_id' => 'ChIJRxzRQcUEdkgRGVaKyzmkgvg', 
      'rating' => 3.3999999999999999, 
      'reference' => 'CmRSAAAAh-Drhh9G_EW3azxZSikW_jR-ZjI2lhZTw6MfWqh9EiTaCEy4uW2okv_g6QfaKoupoeDu3DpfS6MjIvUvp6cc2uAoLlyH9NbkMrnQg9q3ED3R91OejmAScjRhe8G47kJ1EhD_oYVFakm4n6I27j-8iN6oGhQVH6rv1t6uGQBVVOqy1fCAB17JOg', 
      'types' => 
      array (
      0 => 'point_of_interest', 
      1 => 'establishment', 
     ), 
     ), 
    ), 
    )), 
    'status' => 'OK', 
), 
)) 

Я хочу получить элемент formatted_address из коллекции. он появляется под элементом результатов, который, в свою очередь, содержит коллекцию с элементами Items, 0, formatted_address.

, когда я начинаю пытаться «спускаться» к элементу, я требую, чтобы индекс не был найден для элементов var_export ($ response ['results'] ['items']);

так, как я должен взаимодействовать с коллекциями? я попробовал google, но большинство ссылок рассказывают мне о дополнительных функциях, которые предоставляют коллекции, а не о том, как получить от него данные.

всякая помощь с благодарностью.

ответ

0

Я думаю, https://laravel.com/docs/5.3/collections#method-all объясняет, что вам не хватает. Вы хотите позвонить

->all() 

в вашей коллекции, чтобы вернуть базовый массив, представленный коллекцией. Чем вы можете получить доступ к полям в возвращаемом массиве.

+0

Удивительно, что привело меня на правильный путь. очень признателен. – JaChNo

Смежные вопросы