Rails / SQL - 如何搜索部分匹配并获得结果?

时间:2012-05-24 05:35:26

标签: sql ruby-on-rails activerecord

这是房地产搜索网站的位置搜索字段的代码:

   scope :location, lambda{|l|  where("city LIKE ? OR zip_code LIKE ? OR address LIKE ?", l, l, l)}

但我必须输入完整的城市名称或邮政编码或地址才能获得结果,如何修复它以便我可以只搜索2或3个字母或数字并获得包含这些字母或数字的结果?我试着像这样包装l:'%l%'但没有运气。

1 个答案:

答案 0 :(得分:4)

试试这个:

scope :location, lambda{|l|  where("city LIKE :l OR zip_code LIKE :l OR address LIKE :l", l: "%#{l}%")}