withCount(['users', 'warehouses', 'licenseKeys']) ->latest('id') ->limit(8) ->get(); $prices = PlatformPrice::query() ->when(Schema::hasColumn('platform_prices', 'is_active'), static function ($query): void { $query->where('is_active', true); }) ->when(Schema::hasColumn('platform_prices', 'active'), static function ($query): void { $query->where('active', true); }) ->orderBy('sort_order') ->orderBy('name') ->get(); return view('platform::dashboard.index', [ 'companiesCount' => Company::query()->count(), 'activeCompaniesCount' => Company::query()->where('status', 'active')->count(), 'licensesCount' => LicenseKey::query()->count(), 'warehousesCount' => Warehouse::query()->count(), 'pricesCount' => PlatformPrice::query()->count(), 'paymentsTotal' => Payment::query()->where('status', 'paid')->sum('amount'), 'companies' => $companies, 'prices' => $prices, 'companyUsageChartLabels' => $companies->pluck('name')->values(), 'companyUsageChartSeries' => [ 'Users' => $companies->pluck('users_count')->values(), 'Warehouses' => $companies->pluck('warehouses_count')->values(), 'Licences' => $companies->pluck('license_keys_count')->values(), ], 'platformMixChartLabels' => ['Companies', 'Warehouses', 'Licences'], 'platformMixChartValues' => [ Company::query()->count(), Warehouse::query()->count(), LicenseKey::query()->count(), ], 'companyStatusChartLabels' => ['Active', 'Inactive'], 'companyStatusChartValues' => [ Company::query()->where('status', 'active')->count(), Company::query()->where('status', 'inactive')->count(), ], ]); } }