query('q', '')); $qrIds = $account->qrCodes() ->where('type', QrCode::TYPE_PAYMENT) ->pluck('id'); $payments = MiniPayment::query() ->whereIn('qr_code_id', $qrIds) ->when($search !== '', function ($query) use ($search) { $like = '%'.$search.'%'; $query->where(function ($inner) use ($like) { $inner->where('payer_name', 'like', $like) ->orWhere('payer_email', 'like', $like) ->orWhere('payer_note', 'like', $like) ->orWhere('reference', 'like', $like) ->orWhere('payment_reference', 'like', $like) ->orWhereHas('qrCode', fn ($qr) => $qr->where('label', 'like', $like)); }); }) ->with('qrCode') ->latest('created_at') ->paginate(25) ->withQueryString(); return view('mini.payments', [ 'payments' => $payments, 'search' => $search, ]); } }