我的网站在部署到Heroku之前都能正常工作,但问题是Heroku使用的是PgSQL数据库而我使用的是MySQL和Laravel框架。
我的查询语句是:
$patient = Patient::where('patient_address', 'ILIKE' ,'%' . $request->input)->where('patient_sex', 'ILIKE' ,'%' . $request->gender)->whereHas('users', function($q) use($vaccine_id){
$q->where('vaccine_id','ILIKE','%' . $vaccine_id);
})->get();
在我将其部署到Heroku时,出现以下情况:
SQLSTATE[42883]: 未定义函数:7 ERROR:运算符不存在:整数~~*未知
LINE 1: ...ient_id" = "patients"."PatientID" and "vaccine_id" ILIKE $3)
HINT:没有匹配给定名称和参数类型的运算符。您可能需要添加显式类型转换。(SQL:从“patients”中选择 * where“patient_address”ILIKE%旧金山和“patient_sex”ILIKE%并存在(从“疫苗”中选择*内部加入“免疫接种”on“vaccines”。“VaccineID”=“immunizations”。 “vaccine_id”where“immunizations”。 “patient_id”=“patients”。 “PatientID”and“vaccine_id”ILIKE%))
我尝试使用CAST(vaccine_id AS VARCHAR),我没有得到错误,但它没有返回任何结果。
where "patient_address" ILIKE %San Francisco
是错误的,据我所知,San Francisco
应该用单引号括起来。 - Tim Biegeleisen