where('business_id', auth()->user()->business_id); $purchasesQuery->when(request('branch_id'), function ($q) { $q->where('branch_id', request('branch_id')); }); // Date Filter $duration = request('custom_days') ?: 'today'; $this->applyDateFilter($purchasesQuery, $duration, 'purchaseDate', request('from_date'), request('to_date')); // Search Filter if (request('search')) { $purchasesQuery->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') . '%'); }); }); } $purchases = $purchasesQuery->latest()->limit($request->per_page ?? 20)->get(); return view('business::reports.purchase.excel-csv', compact('purchases')); } }