从 Laravel Collection 获取数据
Getting data from Laravel Collection
我意识到这是一个愚蠢的问题,但我找不到答案。我对 collection 的工作原理缺少一些了解
我正在查询 google 个地点 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',
),
))
我想从 collection 中获取 formatted_address 元素。它出现在 results 元素下面,而结果元素下面又有一个 collection 和元素 Items,0,formatted_address.
当我开始尝试 'walk down' 我需要的元素时,我得到了找不到项目的索引
var_export($响应['results']['items']);
所以本质上,我应该如何与 collection 互动?我试过 google 但大多数链接告诉我 collection 提供的额外功能,而不是如何从中获取数据
非常感谢任何帮助。
我认为 https://laravel.com/docs/5.3/collections#method-all 解释了您遗漏的内容。你想打电话给
->all()
在您的集合上 return 集合所代表的底层数组。
比您可以访问 returned 数组中的字段。
我意识到这是一个愚蠢的问题,但我找不到答案。我对 collection 的工作原理缺少一些了解
我正在查询 google 个地点 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',
),
))
我想从 collection 中获取 formatted_address 元素。它出现在 results 元素下面,而结果元素下面又有一个 collection 和元素 Items,0,formatted_address.
当我开始尝试 'walk down' 我需要的元素时,我得到了找不到项目的索引 var_export($响应['results']['items']);
所以本质上,我应该如何与 collection 互动?我试过 google 但大多数链接告诉我 collection 提供的额外功能,而不是如何从中获取数据
非常感谢任何帮助。
我认为 https://laravel.com/docs/5.3/collections#method-all 解释了您遗漏的内容。你想打电话给
->all()
在您的集合上 return 集合所代表的底层数组。 比您可以访问 returned 数组中的字段。