0

我在 Rails 上使用 LIKE 句子时遇到了一点问题,我知道下一句有效:

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

但我可以用任何方法来做这样的事情:

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

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

任何帮助将不胜感激。

4

1 回答 1

0

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

我会稍微重写一下这个查询。

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

当然,如果您获得大量记录,则选择全部可能对性能不利,因此您可能需要考虑限制它或以某种方式对结果进行分页。

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

Brand.all.joins(:cars).where("brandname LIKE ?", "%#{params[:brand_search]}%")
于 2012-07-27T17:00:43.613 回答