Das Problem ist hier:
$q->where('vaccine_id','ILIKE','%' . $vaccine_id)
Sieht so aus, als wäre die Vakzine-ID eine Ganzzahl, und Sie können den Operator ILIKE nicht für eine Ganzzahl verwenden. Versuchen Sie es einfach mit '='
Wenn Sie LIKE, ILIKE oder andere Textoperatoren verwenden möchten, müssen Sie Ihre Daten in Text umwandeln. In SQL muss es so aussehen:
WHERE "vaccine_id"::text ILIKE val
stattdessen
WHERE "vaccine_id" ILIKE val