MOON
Server: Apache
System: Linux server.royaltuning.hu 4.18.0-425.13.1.el8_7.x86_64 #1 SMP Tue Feb 21 04:20:52 EST 2023 x86_64
User: royaltuning (1001)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/local/apache/htdocs/Modules/Report/CouponsReport.php
<?php

namespace Modules\Report;

use Modules\Coupon\Entities\Coupon;

class CouponsReport extends Report
{
    protected $date = 'orders.created_at';

    protected function view()
    {
        return 'report::admin.reports.coupons_report.index';
    }

    protected function query()
    {
        return Coupon::withoutGlobalScope('active')
            ->select('coupons.id', 'code')
            ->join('orders', 'coupons.id', '=', 'orders.coupon_id')
            ->selectRaw('MIN(orders.created_at) as start_date')
            ->selectRaw('MAX(orders.created_at) as end_date')
            ->selectRaw('COUNT(*) as total_orders')
            ->selectRaw('SUM(orders.discount) as total')
            ->when(request()->has('coupon_code'), function ($query) {
                $query->where('code', request('coupon_code'));
            })
            ->groupBy(['coupons.id', 'coupons.code']);
    }
}