filters['startDate'] ?? null; $endDate = $this->filters['endDate'] ?? null; $data = PartnerMedia::query() ->join('cooperation_media', 'partner_media.id', '=', 'cooperation_media.partner_media_id') ->where('cooperation_media.status', ApprovalStatus::ACCEPTED) ->when($startDate, fn ($q) => $q->whereDate('cooperation_media.created_at', '>=', $startDate)) ->when($endDate, fn ($q) => $q->whereDate('cooperation_media.created_at', '<=', $endDate)) ->select('partner_media.name', DB::raw('count(*) as total')) ->groupBy('partner_media.id', 'partner_media.name') ->orderByDesc('total') ->limit(10) ->get(); return [ 'datasets' => [ [ 'label' => 'Total Kerjasama', 'data' => $data->pluck('total')->toArray(), 'backgroundColor' => '#6366F1', ], ], 'labels' => $data->pluck('name')->toArray(), ]; } protected function getType(): string { return 'bar'; } }