Spamworldpro Mini Shell
Spamworldpro


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/Reservation/Widgets/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/job-board.corals.io/Corals/modules/Reservation/Widgets/TopServicesCategoriesWidget.php
<?php


namespace Corals\Modules\Reservation\Widgets;

use \Corals\Modules\Reservation\Charts\TopServicesCategories;
use Corals\Modules\Reservation\Models\Service;

class TopServicesCategoriesWidget
{

    function run($args)
    {

        $data = Service::query()
            ->join('utility_model_has_category', function ($joinCategories) {
                $joinCategories->on('res_services.id', 'utility_model_has_category.model_id')
                    ->where('utility_model_has_category.model_type', getMorphAlias(Service::class));
            })->join('utility_categories', 'utility_model_has_category.category_id', 'utility_categories.id')
            ->leftJoin('res_reservations', function ($joinReservations) {
                $joinReservations->on('res_services.id', 'res_reservations.object_id')
                    ->where('res_reservations.object_type', getMorphAlias(Service::class));
            })->groupBy('utility_model_has_category.category_id')
            ->selectRaw("count(res_reservations.id) as res_count, utility_categories.name as cat_name")
            ->pluck('res_count', 'cat_name')
            ->toArray();


        $chart = new TopServicesCategories();

        $chart->labels(array_keys($data));
        $chart->dataset(trans('Reservation::labels.widget.top_services_categories'), 'pie', array_values($data));

        $chart->options([
            'plugins' => '{
                    colorschemes: {
                        scheme: \'brewer.Paired12\'
                    }
                }'
        ]);


        return view('Corals::chart')->with(['chart' => $chart])->render();


    }
}

Spamworldpro Mini