Php Laravel在尝试循环json api响应时给出非法字符串偏移量

Php Laravel在尝试循环json api响应时给出非法字符串偏移量,php,laravel,Php,Laravel,控制器 <?php namespace App\Http\Controllers; use Illuminate\Contracts\Foundation\Application; use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\View; use Illuminate\Http\Client\RequestException; use Illuminate\Http\Client\Respons

控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Contracts\Foundation\Application;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Http\Client\RequestException;
use Illuminate\Http\Client\Response;
use Illuminate\Support\Facades\Http;

class HomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Show the application dashboard.
     *
     * @return Application|Factory|View|Response
     * @throws RequestException
     */
    public function index()
    {
        $url = "http://dummy.restapiexample.com/api/v1/employees";
        $response = Http::get($url);

        if ($response->successful()) {
            return view('welcome', ['dummy' => $response->json()]);
        }
        return $response->throw();
    }
}
foreach
非法字符串偏移量“employee\u name”中出现错误

将foreach更改为使用
{{$item->employee\u name}
会导致
尝试获取非对象的属性“employee\u name”时出错

打印$response对象会给我一个来自虚拟api的数据数组,因此人们应该认为能够像数组一样循环它

http://dummy.restapiexample.com/api/v1/employees
dummy api(如果需要)


运行最新的laravel版本时,您没有访问包含您试图循环的实际项目数组的数据索引:

@foreach($dummy['data'] as $item)
    {{$item['employee_name']}}
@endforeach

在返回视图之前,但在if检查中,添加
Log::info($response->json())
发送到控制器,然后查看日志文件中的内容,查看
$dummy
将包含哪些内容。听起来它可能是一个一维数组。将数据转储到laravels debugbar中给了我一个答案,显然数组由一个状态和另一个名为data的数组组成,其中包含所有项,使用DigitalDrivers回答修复了它。是的,似乎数组有一个成功的对象,也有一个包含所有项的数据数组
@foreach($dummy as $item)
        {{$item['employee_name']}}
@endforeach
@foreach($dummy['data'] as $item)
    {{$item['employee_name']}}
@endforeach