![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/job-board.corals.io/Corals/modules/Jobs/Widgets/ |
<?php namespace Corals\Modules\Jobs\Widgets; use Corals\Modules\Jobs\Charts\JobsRatio; use Corals\Modules\Jobs\Models\Job; use Corals\Modules\Utility\Models\Category\Category; use Illuminate\Support\Facades\DB; class AdminJobsCountEachCategoryWidget { function __construct() { } function run($args) { $result = Category::query()->join('utility_model_has_category', 'utility_categories.id', '=', 'utility_model_has_category.category_id') ->select('utility_model_has_category.category_id', 'utility_categories.name', DB::raw('count(utility_model_has_category.model_id) as count')) ->where('utility_model_has_category.model_type', '=', getMorphAlias(Job::class)) ->groupBy('utility_model_has_category.category_id') ->pluck('count', 'name'); $result = $result->toArray(); $chart = new JobsRatio(); $chart->labels(array_keys($result)); $chart->dataset(trans('Jobs::labels.job.job'), 'pie', array_values($result)); $chart->options([ 'plugins' => '{ colorschemes: { scheme: \'brewer.Paired12\' } }' ]); return view('Corals::chart')->with(['chart' => $chart])->render(); } }