首页 > 解决方案 > Laravel - 如何将不同的状态码视为计数

问题描述

我正在尝试将 Larave-5.8 用于带有字段 status_code 的 chartjs 饼图

$status_record = EmployeeApplication::selectRaw('count(status_code) as count,status_code, if (status_code = 1, "Pending", "Treated") as status')->whereNotIn('employee_code', $publishedgoals)->where('hr_response', 0)->groupBy('status_code')->get();

我写的代码适用于两个项目

status_code 是 tinyint,可以有 0,1,2,3

我希望它添加所有这些

  1. 0 = 草稿

  2. 1 = 待处理

  3. 2 = 已处理

  4. 3 = 未处理

  5. 表中整个字段的计数 = TotalSubmitted

我该如何修改

selectRaw('count(status_code) as count,status_code, if (status_code = 1, "Pending", "Treated") as status')

在上面的代码中实现这个?

标签: laravel

解决方案


您可以使用

$status_record = EmployeeApplication::whereNotIn('employee_code', $publishedgoals)->where('hr_response', 0)->get()->groupBy('status_code')->map(function ($item) {
    return $item->count();
});

推荐阅读