League\Fractal 响应内容必须是字符串或对象实现 __toString(), "object" 给定

League\Fractal The Response content must be a string or object implementing __toString(), "object" given

我有两种 Transformer 实现:一种是用数组实现的,另一种是使用 League\Fractal 包实现的。所以第一次实施:

    $averages = [];

    foreach ($bigData as $row)
    {
        $avgTemp = new StatisticsDataset($row->air_temp);
        $avgBar = new StatisticsDataset($row->bar_press);
        $avgWind = new StatisticsDataset($row->wind_speed);

        $averages[] = [
            'Data Recorded' => $row->data_recorded,
            'Mean Temperature' => $avgTemp->getMean(),
            'Median Temperature' => $avgTemp->getMedian(),
            'Mean Pressure' => $avgBar->getMean(),
            'Median Pressure' => $avgBar->getMedian(),
            'Mean Speed' => $avgWind->getMean(),
            'Median Speed' => $avgWind->getMedian()
        ];
    }

    return $averages;

效果很好,没有错误。我有第二个,有问题:

$resource = new Fractal\Resource\Collection($envData, function(EnviromentalData $env) {
            return [
                'Data Recorded' => $env->data_recorded,
                'Mean Temperature' => ((new StatisticsDataset($env->air_temp))->getMean()),
                'Median Temperature' => ((new StatisticsDataset($env->air_temp))->getMedian()),
                'Mean Pressure' => ((new StatisticsDataset($env->bar_press))->getMean()),
                'Median Pressure' => ((new StatisticsDataset($env->bar_press))->getMedian()),
                'Mean Speed' => ((new StatisticsDataset($env->wind_speed))->getMean()),
                'Median Speed' => ((new StatisticsDataset($env->wind_speed))->getMedian())
            ];
        });

错误:UnexpectedValueException in Response.php line 403: The Response content must be a string or object implementing __toString(), "object" given.

所以问题是它可能是什么?

忘记在文件末尾添加

return $fractal->createData($resource)->toJson();