56 lines
2.0 KiB
PHP
56 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\User;
|
|
use App\Models\operation as Operation;
|
|
use Illuminate\Http\request;
|
|
|
|
class DashboardController extends Controller
|
|
{
|
|
public function getUsersByRoleData()
|
|
{
|
|
// Mengambil jumlah data berdasarkan user_type
|
|
$usersByRoleData = User::selectRaw('user_type, count(*) as count')
|
|
->groupBy('user_type')
|
|
->orderBy('user_type')
|
|
->pluck('count')
|
|
->toArray();
|
|
|
|
// Jika terdapat user_type yang belum memiliki data, inisialisasi dengan 0
|
|
$usersByRoleData = array_pad($usersByRoleData, 5, 0);
|
|
|
|
return response()->json(['data' => $usersByRoleData]);
|
|
}
|
|
|
|
public function getDataJenisTerapi()
|
|
{
|
|
// Mengambil jumlah data berdasarkan jenis_terapi
|
|
$dataJenisTerapi = Operation::selectRaw('jenis_terapi, count(*) as count')
|
|
->groupBy('jenis_terapi')
|
|
->orderBy('jenis_terapi')
|
|
->pluck('count')
|
|
->toArray();
|
|
|
|
// Jika terdapat jenis_terapi yang belum memiliki data, inisialisasi dengan 0
|
|
$dataJenisTerapi = array_pad($dataJenisTerapi, 3, 0);
|
|
|
|
return response()->json(['data' => $dataJenisTerapi]);
|
|
}
|
|
|
|
public function getDataJenisKelamin()
|
|
{
|
|
// Mengambil jumlah data berdasarkan kelamin
|
|
$dataJenisKelamin = Operation::selectRaw('kelamin, count(*) as count')
|
|
->groupBy('kelamin')
|
|
->orderBy('kelamin')
|
|
->pluck('count')
|
|
->toArray();
|
|
|
|
// Jika terdapat kelamin yang belum memiliki data, inisialisasi dengan 0
|
|
$dataJenisKelamin = array_pad($dataJenisKelamin, 2, 0);
|
|
|
|
return response()->json(['data' => $dataJenisKelamin]);
|
|
}
|
|
}
|