从Laravel Collection获取数据

时间:2016-11-11 12:27:04

标签: laravel laravel-5.3

我意识到这是一个愚蠢的问题,但我无法找到答案。我错过了关于集合如何工作的一些理解

我正在查询google places API以获取有关位置的信息

 $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元素。它出现在results元素下面,而它下面有一个带有元素Items,0,formatted_address的集合。

当我开始尝试“走下去”时对于我需要的元素,我找不到Items的索引           var_export($响应[&#39;结果&#39;] [&#39;项目&#39;]);

基本上,我应该如何与馆藏互动?我试过谷歌,但大多数链接告诉我有关集合提供的额外功能,而不是如何从中获取数据

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:1)

我认为https://laravel.com/docs/5.3/collections#method-all解释了你所缺少的东西。你想打电话

->all()
在Collection上

返回集合表示的底层数组。 您可以访问返回数组中的字段。