1
以下方法旨在返回一个数组与另一个数组,'data'
和一个对象(一些雄辩的查询的结果)。Laravel 5.4作为数组返回不是对象
然而,它返回一个数组中有两个对象; $ data以某种方式被转换为具有多个子对象的对象,而不是一个对象数组。应该注意的是,在return语句之前的dd($data)
显示它确实是一个对象数组。我认为,不知何故,处理响应的Laravel中间件将此作为对象返回...
任何想法如何解决此问题? excuting回报判决之前或在它
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)];
}
**转换成多个子对象**,它有点含糊,你能附上'dd'结果确定目标和预期的结果? –