我正在尝试搜索带有标题和说明的模型,但出现以下错误。我希望能够搜索标题和描述以及工作类型。任何帮助都将非常感激。
PG :: DatatypeMismatch:ERROR:OR的参数必须是boolean类型,而不是 类型字符变化LINE 1:... T“refinery_jobs”。* FROM “refinery_jobs”WHERE(标题或d ... ^:选择“refinery_jobs”。* FROM“refinery_jobs”WHERE(标题OR description LIKE'%consultant%'AND job_type LIKE'%Contract%')LIMIT 10
这是我的查询
results << model.limit(RESULTS_LIMIT).where("title OR description LIKE ? AND job_type LIKE ?","%#{query}%","%#{job_type}%")
答案 0 :(得分:0)
你的错误说postgresql希望OR
的两边评估为真值。在你的sql中,这个错误属于OR
的左侧,只是title
。只需将您的查询更改为
where(
"(title LIKE :query OR description LIKE :query) AND job_type LIKE :job_type",
query: "%#{query}%",
job_type: "%#{job_type}%"
)