where('business_id', auth()->user()->business_id); $salesQuery->when(request('branch_id'), function ($q) { $q->where('branch_id', request('branch_id')); }); // Date Filter $duration = request('custom_days') ?: 'today'; $this->applyDateFilter($salesQuery, $duration, 'saleDate', request('from_date'), request('to_date')); // Search Filter if (request('search')) { $salesQuery->where(function ($query) { $query->where('paymentType', 'like', '%' . request('search') . '%') ->orWhere('invoiceNumber', 'like', '%' . request('search') . '%') ->orWhereHas('party', function ($q) { $q->where('name', 'like', '%' . request('search') . '%'); }) ->orWhereHas('payment_type', function ($q) { $q->where('name', 'like', '%' . request('search') . '%'); }) ->orWhereHas('branch', function ($q) { $q->where('name', 'like', '%' . request('search') . '%'); }); }); } $sales = $salesQuery->latest()->limit(request('per_page') ?? 20)->get(); return view('business::reports.sales.excel', compact('sales')); } }