计算唯一值,返回对象数组

时间:2018-09-10 03:59:06

标签: php laravel laravel-5.4 laravel-query-builder

在这个运气不好的情况下,我已经通过堆栈计数溢出的唯一计数,不同的groupby等来搜索此方法的上限和下限。

我有一个数据库方案

______________
|____TYPE_____|
|____repair___|
|___service___|
|___repair____|
|___repair____|
|___coating___|
|___service___|
|___service___|
|__coating____|
|_maintenance_|
|___repair____|
|___coating___|

我要返回的是数据库中每个唯一“类型”的总数。

private function getOpportunities() {
   return OpportunityTypes::distinct()->select('type')->groupBy('type')->get();
}

foreach类型在对象数组中返回以下内容。

    array('type' => 'Repair', 'count' => 4),
...

修复-4 服务-3 涂层-3 维护-1

我将把返回的结果传递到刀片模板中,并运行一个foreach循环,以显示数据库中记录的所有机会类型,并具有每种所述类型的总和。

刀片模板

            @foreach ($opportunities['opportunitytypes'] as $opportunity)
                {{ $opportunity['type'] }} - {{ $opportunity['total'] }}
            @endforeach

结果

涂层系统-1

                                    Dead Valley - 1
                                    Emergency Tarp - 1
                                    Gutter Replacement - 1
                                    Maintenance - 1
                                    New Construction - 1
                                    Other - 1
                                    Replacement - 1

代码

private function getOpportunities() {
        return OpportunityTypes::select('type', DB::raw('count(type) as total'))->groupBy('type')->get();
    }

0 个答案:

没有答案