query('q', '')); $qrIds = $account->qrCodes() ->where('type', QrCode::TYPE_CHURCH) ->pluck('id'); $donations = GiveDonation::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('collection_type', '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('give.donations', [ 'donations' => $donations, 'search' => $search, ]); } }