从控制台对字段进行快速通配符搜索的最简单方法是什么?我不在乎防止SQL注入(inject)。

我正在使用 PostgreSQL

使用包含“emerging”的字符串搜索title
这行得通,但有点麻烦。好奇是否有速记?

Product.where("title @@ :q", q: "emerging")

同样麻烦,但在Rails 4中似乎不再对我有用:
Product.where("title ILIKE ?", "emerging")
Product.where("title ilike :q", q: "emerging")

我想我正在寻找类似Product.where(title: "*emerging*")的东西

最佳答案

这应该做到这一点:

word = 'emerging'
Product.where('title ILIKE ?', "%#{word}%")
  • ILIKE使搜索对大小写不敏感(PostgreSQL功能!)
  • 使用“%”通配符可使搜索结果匹配具有“/”字样且内部包含(和/或不包含)之前和/或之后的内容的所有产品。
  • 10-08 02:36