問題はここにあります:
$q->where('vaccine_id','ILIKE','%' . $vaccine_id)
ワクチンIDは整数のようであり、整数に演算子ILIKEを使用することはできません。 '='
を試してくださいLIKE、ILIKE、またはその他のテキスト演算子を使用する場合は、データをテキストにキャストする必要があります。 SQLでは次のようになります。
WHERE "vaccine_id"::text ILIKE val
代わりに
WHERE "vaccine_id" ILIKE val