Problemet er her:
$q->where('vaccine_id','ILIKE','%' . $vaccine_id)
ser ud til, at vaccine_id er heltal, og du kan ikke bruge operatoren ILIKE til heltal. Prøv bare '='
Hvis du vil bruge LIKE, ILIKE eller en anden tekstoperator, skal du caste dine data til tekst. I SQL skal det se sådan ud:
WHERE "vaccine_id"::text ILIKE val
i stedet
WHERE "vaccine_id" ILIKE val