我在轨道上使用LIKE语句时遇到了一些问题我知道下一句话有效:
Brand.find(:all, :joins=>[:cars], :conditions=>["brandname LIKE ?","%ford%"])
但是我可以做到这样的事情:
Brand.find(:all, :joins=>[:cars], :conditions=>["brandname LIKE '%ford%'"])
因为我已经有一个函数可以返回单个字符串上的所有条件,但是我需要支持字符串中的搜索,而我真的不知道如何使它工作。
任何帮助将不胜感激。
答案 0 :(得分:0)
我不完全确定我明白你在谈论什么。您是否尝试将变量传入条件?
我会稍微重写这个查询。
Brand.all.joins(:cars).where("brandname LIKE ?", "%#{some_variable}%")
当然,如果您获得大量记录,那么选择all可能会对性能造成影响,因此您可能需要考虑限制或以某种方式对结果进行分页。
我会推荐guides。在这种情况下使用数组会很棒
Brand.all.joins(:cars).where("brandname LIKE ?", "%#{params[:brand_search]}%")