我有一個SQL查詢,看起來像:。LIKE查詢不能如預期
SELECT 「medical_interventions」, 「ID」 AS t0_r0, 「medical_interventions」 「refcode」 AS t0_r1, 「medical_interventions」 「intervention_tid」 AS t0_r2, 「medical_interventions」。 「medical_intervention_category_id」 AS t0_r3, 「medical_interventions」。 「created_at」 AS t0_r4, 「medical_interventions」。 「的updated_at」 AS t0_r5, 「翻譯」。 「ID」 AS t1_r0 ,「translations」。「lang」AS t1_r1,「translations」。「text」AS t1_r2, 「translations」。「created_at」AS t1_r3,「transla」 tions「。」updated_at「AS t1_r4 FROM」medical_interventions「LEFT OUTER JOIN」translations「ON 」translations「。」id「=」medical_interventions「。」intervention_tid「AND 」translations「。」lang「='fr'WHERE (medical_intervention_category_id = 7,文字像「%E%」)
我在那裏有標記évaluer
當我搜索脫穎而出只是é
如上面的查詢文本,我得到évaluer
如我所料。但是,如果我嘗試EV:。
SELECT 「medical_interventions」, 「ID」 AS t0_r0, 「medical_interventions」 「refcode」 AS t0_r1, 「medical_interventions」 「intervention_tid」 AS t0_r2, 「medical_interventions」 。「medical_intervention_category_id」AS t0_r3, 「medical_interventions」。「created_at」AS t0_r4, 「medical_interventions」。「updated_at」AS t0_r5,「translations」。「id」AS t1_r0,「translations」。「lang」AS t1_r1, 「translations」。「text」AS t1_r2, 「translations」。「created_at」AS t1_r3,「translations」。「updated_at」AS t1_r4 FROM「medical_interventions」LEFT OUTER JOIN「translations」ON 「翻譯」, 「ID」= 「medical_interventions」。 「intervention_tid」 AND 「翻譯」。 「郎」= 'FR' WHERE(medical_intervention_category_id = 7和文本LIKE '%EV%')
我完全沒有結果。
有什麼我不懂的LIKE?是否有可用於搜索的替代功能?
AR:
def self.find_by_search_query_and_problem_id(search_query, problem_id)
problem = Problem.find(problem_id)
category = ProblemCategory.find(problem.category_id)
medIntCategory = MedicalInterventionCategory.find_by_category_text(category.category.text)
search = search_query
query = "medical_intervention_category_id =" + medIntCategory.id.to_s + " AND text like ?"
return self.includes(:intervention).where(query, "%#{search}%").references(:intervention)
end
在控制器
def search
@interventions = MedicalIntervention.find_by_search_query_and_problem_id(URI.unescape(params[:search_query]),params[:problem_id])
end
在JS:
getInterventionsFromSearch: function(search_query, problem_id)
{
var interventions = new MedicalIntervetionsCollection();
// fetch data on url AJAX
if(search_query != "")
{
interventions.url = "medical_interventions_search?search_query="+encodeURIComponent(search_query) +
"&problem_id=" + problem_id;
interventions.fetch();
}
return interventions;
}
您能告訴我您的AR查詢嗎? –
@ArupRakshit請參閱編輯。 – jmasterx
http://sqlfiddle.com/#!7/9fbfa/1:我不認爲問題與LIKE有關....其他事情正在進行....編碼? – gabrielhilal