where('business_id', auth()->user()->business_id); $expenseQuery->when(request('branch_id'), function ($q) { $q->where('branch_id', request('branch_id')); }); // Date Filter $duration = request('custom_days') ?: 'today'; $this->applyDateFilter($expenseQuery, $duration, 'expenseDate', request('from_date'), request('to_date')); // Search Filter if (request('search')) { $expenseQuery->where(function ($query) { $query->where('expanseFor', 'like', '%' . request('search') . '%') ->orWhere('paymentType', 'like', '%' . request('search') . '%') ->orWhere('referenceNo', 'like', '%' . request('search') . '%') ->orWhere('amount', 'like', '%' . request('search') . '%') ->orWhereHas('category', function ($q) { $q->where('categoryName', 'like', '%' . request('search') . '%'); }) ->orWhereHas('payment_type', function ($q) { $q->where('name', 'like', '%' . request('search') . '%'); }) ->orWhereHas('branch', function ($q) { $q->where('name', 'like', '%' . request('search') . '%'); }); }); } $expense_reports = $expenseQuery->latest()->limit(request('per_page' ?? 20))->get(); return view('business::reports.expense.excel-csv', compact('expense_reports')); } }