where('business_id', auth()->user()->business_id) ->where('type', '!=', 'Supplier') ->whereHas('sales') ->when(request('search'), function ($q) use ($request) { $q->where(function ($q) use ($request) { $q->where('name', 'like', '%' . $request->search . '%') ->orWhere('phone', 'like', '%' . $request->search . '%') ->orWhere('email', 'like', '%' . $request->search . '%') ->orWhere('type', 'like', '%' . $request->search . '%'); }); }) ->withCount('sales') ->withSum('sales', 'totalAmount') ->orderByDesc('sales_count') ->orderByDesc('sales_sum_total_amount') ->when(request('type'), function ($q) use ($request) { $q->where(function ($q) use ($request) { $q->where('type', $request->type); }); }) ->take(5) ->get(); if ($request->ajax()) { return response()->json([ 'data' => view('business::party-reports.top-customers.datas', compact('customers'))->render() ]); } return view('business::party-reports.top-customers.index', compact('customers')); } }