Я хочу объединить два результата запроса в одну коллекцию и передать Laravel Файл ресурса.
Что я сделал:
Есть функция said: getDailyUsageByPeriod($dateFrom, $dateTo, $serviceId)
, это возврат массива ежедневного использования за заданный период.
Существует функция, которая называется: getTotalUsageByPeriod($dateFrom, $dateTo, $serviceId)
, Это итоговое значение за указанный период времени.
Например, если пользователь дал один недельный диапазон дат до $dateFrom
и $dateTo
переменная первая функция возвращает ежедневное использование, а вторая функция возвращает общее использование за одну неделю.
Затем я возвращаю этот результат в файл ресурсов. В файле ресурсов
$dailyUsage = $this->getDailyUsageByPeriod($dateFrom, $dateTo, $resultForServiceNumber->id);
$totalUsage = $this->getTotalUsageByPeriod($dateFrom, $dateTo, $resultForServiceNumber->id);
$dailyUsage->total = $totalUsage;
Как вернуть объект коллекции в виде объекта One, поскольку в настоящее время я получаю общее количество повторений записи.
`{
"date": "2019-06-01",
"peakPeriod": {
"upload": "496047",
"download": "496047"
},
"offpeakPeriod": {
"upload": "22233301",
"download": "12312332"
},
"totalUsage": {
"peakUpload": null,
"peakDownload": null,
"offpeakUpload": null,
"offpeakDownload": null
}
},
{
"date": "2019-05-01",
"peakPeriod": {
"upload": "12312343",
"download": "37044092"
},
"offpeakPeriod": {
"upload": "22233301",
"download": "12312332"
},
"totalUsage": {
"peakUpload": null,
"peakDownload": null,
"offpeakUpload": null,
"offpeakDownload": null
}
}`