【问题标题】:php laravel Get data from db by past weekphp laravel 从 db 获取过去一周的数据
【发布时间】:2019-08-14 10:45:52
【问题描述】:

我正在尝试将数据从 db 获取到单个数组中

这就是我在第一周的所有日期中尝试过的 foreach 循环,并且每次都执行此查询以获取数据

foreach ($list1 as &$day){
           $pleads = \DB::table('leads')
            ->selectRaw('count(*)') 
            ->whereColumn('owned_by_id', 'users.id')
            ->where('lead_source_id', 7)
            ->whereRaw("DATE(created_at) = '$day'");

            $mleads = \DB::table('leads')
                    ->selectRaw('count(*)')
                    ->whereColumn('owned_by_id', 'users.id')
                    ->where('lead_source_id', 3)
                    ->whereRaw("DATE(created_at) = '$day'");

            $aleads = \DB::table('leads')
                    ->selectRaw('count(*)')
                    ->whereColumn('owned_by_id', 'users.id')
                    ->where('lead_source_id', 4)
                    ->whereRaw("DATE(created_at) = '$day'");

            $personalleads = \DB::table('users') 
                    ->where('id', $id) // User ID
                    ->select('users.id')
                    ->selectSub($pleads, 'pleads')
                    ->selectSub($mleads, 'mleads')
                    ->selectSub($aleads, 'aleads')
                    ->get();
                    return $personalleads;
                     }

当我这样做时,我只会得到 1 个输出:

[{"userid":1,"pleads":2,"mleads":1,"aleads":1}]  

但我想要的结果在下面

[{"userid":1,"pleads":2,"mleads":1,"aleads":1},{"userid":1,"pleads":0,"mleads":0,"aleads":0},{"userid":1,"pleads":0,"mleads":0,"aleads":0},{"userid":1,"pleads":1,"mleads":0,"aleads":0},{"userid":1,"pleads":1,"mleads":0,"aleads":0},{"userid":1,"pleads":1,"mleads":0,"aleads":0},{"userid":1,"pleads":0,"mleads":0,"aleads":0}]

但我认为它们是多个对象,我无法将它们放入单个数组中

【问题讨论】:

    标签: php mysql arrays laravel


    【解决方案1】:

    您将在第一次迭代时从循环中返回。相反,将结果存储在一个数组中,并在循环之外返回。

    $results = [];
    foreach ($list1 as &$day){
        $personalleads = ....
        array_push($results, personalleads);
    }
    return $results;
    

    【讨论】:

    • 非常感谢,但我得到这样的输出``[[{"id":1,"pleads":2,"mleads":2,"aleads":1,"totalLead" :5,"listingOnCRM":0,"followUpOnCRM":0,"numberOfDeals":0,"numberOfSales":0}],[{"id":1,"pleads":0,"mleads":0," aleads":0,"totalLead":0,"listingOnCRM":0,"followUpOnCRM":0,"numberOfDeals":0,"numberOfSales":0}]] ``我无法使用 jQuery 解析这个如何制作它们在一个数组中?喜欢
    • `` [{"id":1,"pleads":2,"mleads":2,"aleads":1,"totalLead":5,"listingOnCRM":0,"followUpOnCRM ":0,"numberOfDeals":0,"numberOfSales":0},[{"id":1,"pleads":0,"mleads":0,"aleads":0,"totalLead":0," ListingOnCRM":0,"followUpOnCRM":0,"numberOfDeals":0,"numberOfSales":0}]``
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多