首页 > 解决方案 > Laravel 如何将两个对象结果附加到一个集合对象

问题描述

我想将两个查询结果合并到一个集合并传递给 Laravel 资源文件。

我做了什么:

  1. 有一个名为: 的函数getDailyUsageByPeriod($dateFrom, $dateTo, $serviceId),它返回给定期间的每日使用量数组。

  2. 有一个函数叫做:getTotalUsageByPeriod($dateFrom, $dateTo, $serviceId),这是给定时间段的返回总数。

例如,如果用户给了一个星期的日期范围$dateFrom$dateTo变量第一个函数返回每日使用量,第二个函数返回一周的总使用量。

然后我将此结果返回到资源文件。在资源文件中

$dailyUsage = $this->getDailyUsageByPeriod($dateFrom, $dateTo, $resultForServiceNumber->id);
$totalUsage = $this->getTotalUsageByPeriod($dateFrom, $dateTo, $resultForServiceNumber->id);

$dailyUsage->total = $totalUsage;

如何作为一个集合对象返回到资源文件,因为目前我正在获得总记录重复。

     `{
        "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
        }
    }`

标签: laraveleloquent

解决方案


推荐阅读