<?php

namespace App\Modules\Admin\Dashboard;

use App\Models\LoanApproved;
use Illuminate\Support\Facades\DB;

class BorrowRequest
{
    public function getData($payload){
        return LoanApproved::whereYear('created_at', $payload->selectedYear)
        ->select(
            DB::raw('
                COUNT(CASE MONTH(created_at) WHEN  1 THEN loan_approved_histories.id END) AS January,
                COUNT(CASE MONTH(created_at) WHEN  2 THEN loan_approved_histories.id END) AS February,
                COUNT(CASE MONTH(created_at) WHEN  3 THEN loan_approved_histories.id END) AS March,
                COUNT(CASE MONTH(created_at) WHEN  4 THEN loan_approved_histories.id END) AS April,
                COUNT(CASE MONTH(created_at) WHEN  5 THEN loan_approved_histories.id END) AS May,
                COUNT(CASE MONTH(created_at) WHEN  6 THEN loan_approved_histories.id END) AS June,
                COUNT(CASE MONTH(created_at) WHEN  7 THEN loan_approved_histories.id END) AS July,
                COUNT(CASE MONTH(created_at) WHEN  8 THEN loan_approved_histories.id END) AS August,
                COUNT(CASE MONTH(created_at) WHEN  9 THEN loan_approved_histories.id END) AS September,
                COUNT(CASE MONTH(created_at) WHEN 10 THEN loan_approved_histories.id END) AS October,
                COUNT(CASE MONTH(created_at) WHEN 11 THEN loan_approved_histories.id END) AS November,
                COUNT(CASE MONTH(created_at) WHEN 12 THEN loan_approved_histories.id END) AS December
            ')
        )
        ->first();
    }
}