【问题标题】:rails find records containing specific word [duplicate]rails查找包含特定单词的记录[重复]
【发布时间】:2015-06-08 09:46:04
【问题描述】:

我正在寻找一种方法来查找数据库中包含特定字符串的所有条目。我知道可以遍历每个条目并查看字符串是否匹配,但是随着数据库的增长,我宁愿不这样做。我想知道是否有 Rails 方法可以做到这一点。 像

Table.where("content containsWord ?", "string")

所以一个函数查找包含特定字符串的所有记录。 有谁知道这样做的方法吗?

更新

Rails: How to find_by a field containing a certain string 重复

【问题讨论】:

  • 它对你有用吗
  • @mischa 当我写了与 RSB 在我的评论中写的一样的东西时,你说它不起作用......为什么会这样?

标签: ruby-on-rails database activerecord


【解决方案1】:

你可以试试这个

search_term = "string"
tables = Table.where("tables.content LIKE ?", "%#{search_term}%")

,如果您想忽略大小写,则执行此操作

search_term = "string"
tables = Table.where("lower(content) LIKE lower(?)", "%#{search_term}%")

希望这会有所帮助!

【讨论】:

  • 这就是我的意思,我唯一遇到的问题是它需要正确的大小写。如果我正在寻找“内容”,我会更喜欢它也选择带有“内容”的记录
  • 检查我编辑的答案,它适用于您的情况
  • @mischa 您使用的数据库引擎是什么>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-19
  • 2016-07-03
  • 2019-07-15
  • 2017-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多