Laravel 5.4 作为数组而不是对象返回

mdo*_*nko 1 laravel laravel-5.4

以下方法旨在返回一个包含另一个数组的数组'data'和一个对象(一些雄辩查询的结果)。

然而,它返回一个包含两个对象的数组;$data 以某种方式被转换为具有多个子对象的对象,而不是对象数组。需要注意的是dd($data),return 语句前的a表明它确实是一个对象数组。我认为处理响应的 Laravel 中间件以某种方式将其作为对象返回......

知道如何解决这个问题吗?

public function getTestData($id) {
    $participants = Participant::where('test_id', $id)->with('testRecords')->get();
    $finalRecordValue = TestRecord::where('test_id', $id)->orderBy('created_at', 'desc')->first();

    $data = [];

    foreach ($participants as $participant) {
        foreach ($participant->testRecords as $testRecord) { 
            if (!array_key_exists((int)$testRecord->capture_timestamp, $data)) {
                $data[$testRecord->capture_timestamp] = (object)[
                    'category' => $testRecord->capture_timestamp,
                    'value' . "_" . $participant->id => $testRecord->score
                ];
            } else {
                $data[$testRecord->capture_timestamp]->{"value" . "_" . $participant->id} = $testRecord->score;
            }
        }
    }

    return [$data, Auth::user()->tests()->findOrFail($id)];
}
Run Code Online (Sandbox Code Playgroud)

Con*_*hen 5

在执行 return 语句之前或在其中尝试此操作:

array_values($data);
Run Code Online (Sandbox Code Playgroud)