0

我試圖搜索帶有標題和說明的模型,但出現以下錯誤。我希望能夠搜索標題和描述以及工作類型。任何幫助將非常感激。postgresql全文搜索欄標題和說明

PG::DatatypeMismatch: ERROR: argument of OR must be type boolean, not type character varying LINE 1: ...T "refinery_jobs".* FROM "refinery_jobs" WHERE (title OR d... ^: SELECT "refinery_jobs".* FROM "refinery_jobs" WHERE (title 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

你的錯誤說,PostgreSQL的期望一個OR的兩側,以評估爲truthy值。在你的sql中,這個錯誤與OR的左側相關,它只是title。只是改變你的查詢

where(
    "(title LIKE :query OR description LIKE :query) AND job_type LIKE :job_type", 
    query: "%#{query}%", 
    job_type: "%#{job_type}%" 
) 
+0

謝謝jvnill,那排序我的問題:-) – JAML