在Rails SQL中使用Like

时间:2012-07-27 15:49:47

标签: ruby-on-rails ruby-on-rails-3 activerecord

我在轨道上使用LIKE语句时遇到了一些问题我知道下一句话有效:

Brand.find(:all, :joins=>[:cars], :conditions=>["brandname LIKE ?","%ford%"])

但是我可以做到这样的事情:

Brand.find(:all, :joins=>[:cars], :conditions=>["brandname LIKE '%ford%'"])

因为我已经有一个函数可以返回单个字符串上的所有条件,但是我需要支持字符串中的搜索,而我真的不知道如何使它工作。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我不完全确定我明白你在谈论什么。您是否尝试将变量传入条件?

我会稍微重写这个查询。

Brand.all.joins(:cars).where("brandname LIKE ?", "%#{some_variable}%")

当然,如果您获得大量记录,那么选择all可能会对性能造成影响,因此您可能需要考虑限制或以某种方式对结果进行分页。

我会推荐guides。在这种情况下使用数组会很棒

Brand.all.joins(:cars).where("brandname LIKE ?", "%#{params[:brand_search]}%")